目录
一、什么是数据结构
1.起源
1968年,美国高德纳教授,《计算机程序设计艺术》第一卷《基本算法》开创了数据结构和算法的先河
数据结构是研究数据之间关系和操作的学科,而非计算方法
数据结构+算法=程序 由美国沃斯提出并获得图灵奖,这句话揭示了程序的本质
2.数据结构相关概念
数据:所有能够输入到计算机中能够被程序处理的描述客观事物的符号
数据项:有独立含义的数据的最小单位,也被称为域;例:结构体中某一项信息,数组的某 个元素
数据元素:组成数据的有一定含义的基本单位,也叫做:节点、结点、记录
数据结构:相互之间存在一种或多种特定关系的数据元素的集合
算法:数据结构中所具备的功能、解决某种特定问题的方法
3.数据结构的三大方面
数据之间的逻辑关系
数据的存储关系
数据结构的运算
二、数据结构的逻辑和存储关系
1.逻辑关系:
集合:数据元素同属于同一个集体,但元素之间没有任何关系
线性结构: 数据元素之间存在一对一的关系
树型结构: 数据元素之间存在一对多的关系
图型结构: 数据元素之间存在多对多的关系
2.存储关系(物理关系):
顺序结构:
数据元素存储在连续的内存中,用数据元素的相对位置来表示关系
优点:支持随机访问(用i访问)、访问和查找效率高、适合用于查找数据频繁的结构
缺点:插入、删除时效率低不方便
链式结构:
数据元素存储在彼此相互独立的内存中,每个独立的元素也叫做结点,
每个结点中增加一项数据用于存储其他相关结点的地址,以此表示结点之间的关系
优点:插入、删除更方便、空间利用率极高,对内存要求不高
缺点:不支持随机访问,只能从头到尾逐个访问
注意:逻辑结构、存储结构采用哪种根据实现难度、空间、时间要求、操作习惯等方面综合考虑选择合适的结构
逻辑结构和存储结构的关系:
线性表 顺序 链式
树 链式 顺序
图 顺序+链式
三、数据结构的运算
1.创建数据结构 create creat
2.销毁数据结构 destory
3.清空数据结构 clean
4.数据结构的排序 sort
5.插入元素 insert
6.删除元素 delete
7.访问元素 看值 access
8.查询元素 看位置query
9.修改元素 modify
10.遍历数据结构 show ergodic print