1、为什么要学数据结构

——有用

2、什么是数据结构

——(1)存在一种或多种个关系的【数据元素】的集合和操作

——(2)指的是一种关系和实现

——(3)主要研究数据的【逻辑结构】和【存储结构】,具体是研究数据  【结点的值】 与 【结点的关系】

    进一步解析:即使研究值与值关系,在逻辑上和计算机内存存储上的探讨

3、逻辑结构是指什么?有哪些基本的结构

——(1)逻辑结构是从【具体问题】抽象出来的【数学模型】,描述的是数据元素之间的【逻辑关系和操作】,与数据的存储无关

——(2)基本结构有:

  【集合结构】——没有关系,同属于一个集合

  【线性结构】——除了第一个节点外,其他节点都有唯一一个直接前驱(节点),除最后一个外,各节点都有唯一的后继(节点)

        

数据结构go语言版 数据结构 语言_c/c++

 

  【树型结构】除根结点外,各结点都有唯一前驱,所有结点有多个后继(不同结点可能有相同父结点)【1对多】

        

数据结构go语言版 数据结构 语言_c/c++_02

 

  【图状或网状结构】同一个结点可能有多个前驱和多个后继,【多对多】

      

数据结构go语言版 数据结构 语言_数据_03

 

4、存储结构是指什么?有哪些基本的结构

——(1)存储结构是指:有了数据结构(模型),咱们如何在计算机内存中实现,这种实现,我们称之为【存储结构】

——(2)基本的存储数据结构有:

    【顺序方法存储】逻辑上相邻的结点放在物理上相邻的存储单元中

    【链式存储】在此方式中:由两部分组成,一部分是存储节点本身的值,称为【数据域】

                另一部分存储后继结点的地址,称为【指针域】

                结点之间,在内存开辟地址间,不存在必须连续的关系

    【索引存储】附加的索引表,通过存储序号索引值找到对应的值

    【散列存储】利用结点的值,确定存储单元的地址