数据结构
定义
狭义:
数据结构是专门研究数据存储的问题;
数据的存储包含两个方面:个体的存储+个体关系的存储
广义:
数据结构既包含数据的存储也包含数据的操作
对存储数据的操作就是算法
算法:
狭义:算法和数据的存储方式密切相关
广义:算法和数据的存储方式无关(泛型思想)
数据的存储的结构
线性:
1. 连续存储【数组】 :个体间关系采用连续地址来体现
优点:存取速度快
缺点:
a. 插入删除元素很慢(后面的元素需要进行整体移动);
b. 事先需要知道数组长度,空间通常有限制
c. 需要连续大块的内存空间
2. 离散存储【链表】:个体间关系采用指针指向来体现
优点:
a. 空间没有限制;
b. 插入删除元素很快(只需要进行相关联个体的指针进行更改;并生成或释放相关个体内存即可)
缺点:
存取速度慢(个体间基本不是存储在相邻内存,读取每个个体是都需要额外获取该个体地址后才能访问该个体)