学习重点
1.顺序表(重点掌握)
2.链表(重点掌握)
3.栈(重点掌握)
4.队列(重点掌握)
5.树(二叉树)(了解)
6.哈希表(链地址法)
7.排序算法(快排)(重点掌握)
计算机对数据的操作方式有三种:
1.数据的存储(连续存储、非连续) 数据结构研究的是存储方式
2.数据的传输(进程间通讯、网络编程)
3.数据的运算(检索、排序、增、删、改)
学习数据结构的目的
1.合理使用内存
2.提高CPU执行效率
3.构建工程思维
4.代码量提升
数据结构的三要素
存储结构:连续(顺序)存储(顺序表)、非连续(链式)存储(链表)
逻辑结构:线性结构、非线性结构
算法(操作):检索、排序、增、删、改
c语言中构造类型:数组、结构体、联合体、枚举。
数组:相同数据类型的有序集合,是对相同数据类型的封装。
结构体:用户自定义数据类型(在实际开发中C语言“基本数据类型”无法满足实际开发需要,对现实中具体事物的描述,为用户开发时提供一种灵活的数据类型,用于描述开发需要的具体事物)。
结构体声明时不能始化成员,因为结构体是用户自定义数据类型自身并没有分配内存空间。C语言中结构体声明时不可以用 const static 修饰成员,因为const static 修饰具体的内存空间声明结构体时并没有分配具体的内存空间。结构体变量中的数组成员赋值用strcpy()。
函数:实现特定功能的一段代码,对代码的封装,其三要素:功能、参数、返回值。
设置函数参数要考虑(参数的个数、参数的顺序、参数的数据类型,参数的意义),最好不要超过4个形参。