什么是数据结构

数据结构的起源:美国高纳德教授,于1968年开设一门《基本算法》的课程,开设的数据结构和算法的先河。

树数据结构 ancestor_path_数据结构

他提出了一个公式:数据结构+算法=程序。
数据结构不是一门研究数据计算的学科,而是研究数据与数据之间的关系的学科。
数据结构的基本的概念:

数据:能够输入到计算机中的描述客观事物的符号。
数据项:描述事物的其中一项指标。
数据元素:用于描述一个完整事物。
数据结构:同志数据元素和元素之间关系构成一个整体。
算法:数据结构所具备的功能(解决问题的方法)

四种基本类型的数据结构(逻辑结构):

集合:元素之间没有任何关系

线性表:元素之间存在一对一的关系(数组)。数组、链表、功能受限的表(栈、队列)。

:元素之间存在一对多的关系。普通树,二叉树,完全二叉树,满二叉树,有序二叉树。

:元素之间存在多对多关系。

数据结构的存储方式(物理结构):

顺序:在一块连续的内存空间上存储元素与元素之间的关系。
  优点是速度快,不易产生内存碎片,但对内存要求高,添加删除不方便。
非顺序:元素随机存储在内存空间中,元素中存储指向其他元素的地址
   优点是对内存要求低,添加删除方便,查找速度慢(只能从头逐个遍历),容易产生内存碎片。

逻辑结构和存储结构的关系:

:顺序/链式
:顺序/链式
:混合
每种逻辑结构用什么物理结构存储并没有明确规定,通常是根据难易程度,时间和空间上的要求,选择最合适的存储物理结构。