基本概念

  • 数据:信息载体,描述属性的数、字符等符号。
  • 数据元素:数据的基本单位;由多个数据项组成,数据项不可分割。
  • 数据对象:具有相同性质的数据元素的集合。是数据的子集。
  • 数据类型:一个值的集合和对其定义的一组操作的总称。
    • 原子类型:不可分割
    • 结构类型:可分割
    • 抽象数据类型
  • 数据结构:有特定关系的数据元素的集合。这种特定关系又称为结构(structure)
    • 逻辑结构
    • 存储结构
    • 数据的运算

算法的设计取决于所选定的逻辑结构,算法的实现依赖与采用的存储结构。

数据结构三要素

逻辑结构

  • 线性结构:一对一
    • 线性表
    • 栈和队列、串(受限线性表)
    • 数组(推广线性表)
  • 非线性结构
    • 集合
    • 树形结构:一对多
      • 二叉树
    • 图状结构:多对多
      • 有向图
      • 无向图

存储结构

数据结构在计算机中的表示(映像)。也叫 物理结构。

  • 顺序存储

逻辑上相邻的元素物理上也相邻。
优:省空间,随机存取
缺:外部碎片多

  • 链式存储

物理上不要求相邻
优:无碎片
缺:只能顺序存取,指针占额外空间

  • 索引存储

除存储的信息,还存储一个索引表
优:检索速度快
缺:占额外空间,增删有额外时间(索引表修改)

  • 散列存储

根据元素的关键字直接计算出存储地址
优:检索、增删速度快
缺:散列函数不好,可能出现冲突

数据的运算

  • 运算的定义:针对逻辑结构
  • 运算的实现:针对存储结构

算法评价

算法是对特定问题求解步骤的描述,是有限的指令序列。

  • 有穷性
  • 确定性:相同的输入得相同的输出
  • 可行性
  • 输入:有零个或多个输入
  • 输出:有一个或多个输出

好的算法:

  • 正确性
  • 可读性
  • 健壮性
  • 效率和低存储量需求
posted @ 2023-03-23 15:55  青子Aozaki  阅读(92)  评论(0)    收藏  举报