文章目录
1、引入
算法: 一种思想,一种解决问题的思路,关注于解决问题的方法和步骤
数据结构:用什么方式将数据存储起来,不同的组织方式,到时候操作数据时的时间复杂度不同
比如: 存储一个班级学生的姓名、年龄、家乡
- 列表中每个学生的信息用字典存储,需要取出Tom的信息时,时间复杂度为O(n)
[
{
'name':'Tom',
'age':23,
'hometown':'beijing'
},
]
- 字典中嵌套字典,用学生姓名作键,年龄和家乡作值,需要取出Tom的信息时,时间复杂度为O(1)
{
'Tom':{
'age':23,
'hometown':'beijing'
},
}
2、概念
- 程序设计语言中基本类型:整型、浮点型、字符型
- 数据结构是对基本数据类型的一次封装
- python中的列表、字典、元组,是python提供的已经封装好的数据结构,即为python的内置数据结构。
3、算法与数据结构的区别
- 数据结构是静态的描述数据元素之间的关系
- 高校的程序需要在数据结构的基础上设计和选择算法
- 程序=数据结构+算法
算法是为了解决实际问题而设计的,数据结构是算法需要处理的问题载体
抽象数据类型: 把数据类型和数据类型支持的运算捆在一起进行封装。
比如:学生信息放入列表中,对应的列表操作和学生信息捆绑在一起的操作可以有学生退学(pop)、添加学生信息(adds)、给学生排序(sort)、修改学生信息(modify)