算法:处理问题的策略
数据结构:处理问题的数学模型
基本术语
1.数据:是描述客观事物的符号,是计算机中可以操作的对象,能被计算机识别且可以输入给计算机处理的符号集合
2.数据元素:是组成数据的、有一定意义的基本单位【在计算机中通常被作为整体处理】
比如:”人类“中的数据元素 ——> 人 草食动物 ——> 牛羊马等
3.数据项:一个数据元素可以由若干个数据项组成,数据项是数据不可分割的最小单位
比如:人 ——> 有“眼耳鼻手”等数据项
4.数据对象:是性质相同的数据元素的集合,是数据的子集
性质相同 ——> 数据元素有相同数量和类型的数据项
比如:人都有名字,生日,性别
5.数据结构:相互之间存在一种或多种特定关系的数据元素的集合
比如:
数据结构三大要素:
(1)逻辑结构:数据元素之间的相互关系
(2)存储结构:数据及其关系在计算机中的存储方式
(3)数据操作(算法实现):对数据要进行的运算
1.逻辑结构:
逻辑结构分为四种类型:集合结构,线性结构,树形结构,图形结构。
1.1 所谓集合结构:
具有相同性质的数据元素同属一个集合,单个数据元素之间没有任何关系。
1.2 线性结构:
数据元素之间是一对一的关系。注意:重点在一对一
1.3 树形结构:
树形结构中的数据元素之间存在一对多的关系。(各元素及元素关系所组成图形类似于树状图)。注意:关系为一对多
1.4 图形结构:
数据元素之间是多对多的关系。如下图所示。
总结以上几点:用示意图表示数据结构的逻辑关系时要注意:
1.将每一个元素看作为一个结点,用圆圈表示。
2.将各个元素之间的关系用结点之间的连线表示,如果该关系有方向,则用带箭头的连线表示。
2.物理结构(存储结构):
物理结构又叫存储结构,分为四种种,顺序存储结构、链式存储结构、索引结构、散列结构。
2.1 顺序存储结构:
一段连续的内存空间。
优点:随机访问
缺点:插入删除效率低,大小固定
2.2 链式存储结构:
不连续的内存空间
优点:大小动态扩展,插入删除效率高
缺点:不能随机访问。
2.3 索引存储结构:
为了方便查找,整体无序,但索引块之间有序,需要额外空间,存储索引表。
优点:对顺序查找的一种改进,查找效率高
缺点:需额外空间存储索引
2.4 散列存储结构:
选取某个函数,数据元素根据函数计算存储位置可能存在多个数据元素存储在同一位置,引起地址冲
优点:查找基于数据本身即可找到,查找效率高,存取效率高。
缺点:存取随机,不便于顺序查找。
逻辑结构和物理结构 参考地址:https://blog.csdn.net/qq_39385118/article/details/80835048