什么是数据结构
数据结构的起源:美国高纳德教授,于1968年开设一门《基本算法》的课程,开设的数据结构和算法的先河。
他提出了一个公式:数据结构+算法=程序。
数据结构不是一门研究数据计算的学科,而是研究数据与数据之间的关系的学科。
数据结构的基本的概念:
数据:能够输入到计算机中的描述客观事物的符号。
数据项:描述事物的其中一项指标。
数据元素:用于描述一个完整事物。
数据结构:同志数据元素和元素之间关系构成一个整体。
算法:数据结构所具备的功能(解决问题的方法)
四种基本类型的数据结构(逻辑结构):
集合:元素之间没有任何关系
线性表:元素之间存在一对一的关系(数组)。数组、链表、功能受限的表(栈、队列)。
树:元素之间存在一对多的关系。普通树,二叉树,完全二叉树,满二叉树,有序二叉树。
图:元素之间存在多对多关系。
数据结构的存储方式(物理结构):
顺序:在一块连续的内存空间上存储元素与元素之间的关系。
优点是速度快,不易产生内存碎片,但对内存要求高,添加删除不方便。
非顺序:元素随机存储在内存空间中,元素中存储指向其他元素的地址
优点是对内存要求低,添加删除方便,查找速度慢(只能从头逐个遍历),容易产生内存碎片。
逻辑结构和存储结构的关系:
表:顺序/链式
树:顺序/链式
图:混合
每种逻辑结构用什么物理结构存储并没有明确规定,通常是根据难易程度,时间和空间上的要求,选择最合适的存储物理结构。