数据结构

相关概念

程序=数据结构+算法

算法:对特定问题求解方法和步骤的一种描述,是指令有限序列

算法的描述:

  • 自然语言
  • 流程图:传统流程图、NS流程图(盒图)
  • 伪代码
  • 程序代码

算法的特性:

  • 有穷性:有穷步之后结束,每一步都在有穷时间内
  • 确定性:有确切含义,无二义性
  • 可行性:可执行的
  • 输入:0或多个输入
  • 输出:1或多个输出

算法的设计要求:

  • 正确性
  • 可读性
  • 健壮性
  • 高效性

具体问题抽象为数学模型:

  1. 分析问题
  2. 提取操作对象
  3. 找出操作对象之间的关系
  4. 用数学语言描述 ->数据结构

  1. 数据:
    • 能输入计算机并能被计算机处理的各种符号的集合
    • 信息的载体
    • 对客观事物的符号化表示
    • 能被计算机识别、存储、加工

  1. 数据元素/元素/记录/顶点/结点:数据的基本单位,在计算机中通常作为一个整体进行考虑

image


  1. 数据项:构成数据元素的不可分割的最小单位

数据>数据元素>数据项


数据对象性质相同的数据元素的集合,是数据的子集

数据结构:数据元素相互之间的关系

  • 逻辑结构;是数据结构的抽象

    • 线性结构:有且仅有一个开始和一个重点结点,并且一个结点只有直接前驱和一个直接后继,如:线性表、队列、串、栈

    • 非线性结构:(一对多或多对多)一个结点可能有多个直接前驱和直接后继,如:树、图

    • 集合结构:结构中的数据元素除了在一个集合外,无其他关系

    • 线性结构:结构中的数据元素存在一对一的线性关系

    • 树形结构:结构中的数据元素存在一对多的层次关系

    • 图状结构:结构中的数据元素存在多对多的任意结构

  • 存储结构(物理结构):数据元素及其关系在计算机内存中的表示(映像);是数据结构的实现

    • 顺序存储结构:用一组连续的存储单元依次存储数据元素,数据元素之间的逻辑关系由元素的存储位置来表示(C语言中的数组)

    • 连式存储结构:用一组任意的存储单元存储数据元素,数据元素之间的逻辑关系用指针表示(C语言中的指针);存储了元素本身还存储了下一个元素的地址

    • 索引存储结构:在存储结点信息的同时,还建立附加的索引表

    • 散列存储结构:根据结点的关键字直接计算出该结点的存储地址

  • 数据的运算和实现:对数据元素可以施加的操作,以及这些操作在相应存储结构上的实现

posted @ 2023-01-29 10:38  原语  阅读(90)  评论(0)    收藏  举报