1、为什么要学数据结构
——有用
2、什么是数据结构
——(1)存在一种或多种个关系的【数据元素】的集合和操作
——(2)指的是一种关系和实现
——(3)主要研究数据的【逻辑结构】和【存储结构】,具体是研究数据 【结点的值】 与 【结点的关系】
进一步解析:即使研究值与值关系,在逻辑上和计算机内存存储上的探讨
3、逻辑结构是指什么?有哪些基本的结构
——(1)逻辑结构是从【具体问题】抽象出来的【数学模型】,描述的是数据元素之间的【逻辑关系和操作】,与数据的存储无关
——(2)基本结构有:
【集合结构】——没有关系,同属于一个集合
【线性结构】——除了第一个节点外,其他节点都有唯一一个直接前驱(节点),除最后一个外,各节点都有唯一的后继(节点)
【树型结构】除根结点外,各结点都有唯一前驱,所有结点有多个后继(不同结点可能有相同父结点)【1对多】
【图状或网状结构】同一个结点可能有多个前驱和多个后继,【多对多】
4、存储结构是指什么?有哪些基本的结构
——(1)存储结构是指:有了数据结构(模型),咱们如何在计算机内存中实现,这种实现,我们称之为【存储结构】
——(2)基本的存储数据结构有:
【顺序方法存储】逻辑上相邻的结点放在物理上相邻的存储单元中
【链式存储】在此方式中:由两部分组成,一部分是存储节点本身的值,称为【数据域】
另一部分存储后继结点的地址,称为【指针域】
结点之间,在内存开辟地址间,不存在必须连续的关系
【索引存储】附加的索引表,通过存储序号索引值找到对应的值
【散列存储】利用结点的值,确定存储单元的地址