数据结构基本概念
笔记只用于更好的理解,不描述具体的考试知识点
- 数据由数据对象组成,数据对象由性质相同的数据元素组成,数据元素由数据项组成。数据结构是相互之间存在一种或多种特定结构关系的数据元素的集合。
- 数据结构三要素:逻辑结构,运算和物理结构
- 逻辑结构:集合、线性(一对一)、树形(一对多)、图(多对多)
- 存储结构:顺序(物理位置连续)、链式(指针)、索引(建立索引表)、散列(Hash)
- 数据类型:原子类型(bool、int···)、结构类型(struct),包括值和相关操作
- 程序可以是无穷的,算法必须是有穷的,确定的,好算法包括可读性、健壮性(错误输入处理)、高效率、低存储
时间复杂度
一个算法需要耗时T(n),只保留高阶项
如T(n)最高阶为n3,则时间复杂度为O(n3)
空间复杂度
- 内存空间包括代码空间和数据空间
- 主要为输入变量和递归调用会使得空间大小变化
- 空间复杂度与问题规模n成正比
- 空间复杂读与递归深度成正比