数据结构(严蔚敏)——第一章知识点笔记

第一章知识点笔记

重点

  1. 基本术语
  2. 抽象数据类型
  3. 算法优劣的评价标准
  4. 数据结构的学习方法

抽象数据类型ADT

ADT=(D,S,P)

格式:{

数据对象:<数据对象的定义>

数据关系:<数据关系的定义>

基本操作:<基本操作的定义>

} 名称

基本概念和术语

数据——所有能输入到计算机的描述客观事物得到符号

分为数值性数据和非数值性数据

数据元素——数据的基本单位,也称结点或记录——行

数据项——有独立含义的数据最小单位,也称域——列

数据对象——相同特性数据元素得到集合,是一个子集

数据结构——相互之间存在的一种或多种关系的数据元素的集合

数据结构

逻辑结构,存储结构(物理结构),操作(运算,行为)

逻辑结构划分

第一种

1)线性结构:有且仅有一个开始和终端节点,并且所有节点最多一个前趋和后继(线性表,栈,队列,串)

2)非线性结构:一个结点可能有多个直接前驱和直接后缀:树,图

第二种

1)集合:除同一个集合以外无其它关系

2)线性结构:一个对一个,如线性表,栈,队列

3)树形结构:一个对多个,如树

4)图形结构:多个对多个,如图

存储结构划分

顺序存储结构——借助元素在存储器中的相对位置表示数据

链式存储结构——借助指示元素的指针表示数据元素间的逻辑关系

索引存储结构——字典中单词存储关系

散列存储结构——地址与散列函数之间建立的一种映射

算法和算法分析(重点)

定义:一个有穷的指令集,未解决某类问题而规定的一种有限长的操作序列。

特性

  • 输入(0个或多个)
  • 输出(1个或多个)
  • 确定性(每步定义都是确切的,无歧义的)
  • 有穷性(算法应在执行有穷步后结束)
  • 可行性(所有操作都可以通过已经实现的基本操作运算执行有限次来实现)

评价

  • 正确性
  • 可读性
  • 健壮性(鲁棒性)
  • 高效性

算法效率的度量

时间复杂度和空间复杂度

时间复杂度分为事后统计(一般不用),事前分析估计(大O法,语句频度法)

空间复杂度——算法在内存中所占的空间

组成部分:算法的输入/输出数据占用的空间,算法的输入/输出数据占用的空间,算法运行过程中临时占用的辅助空间

若空间量依赖于输入,按最坏情况决定

数据结构(严蔚敏)——第一章知识点笔记_第1张图片

你可能感兴趣的:(数据结构,数据结构,算法)