1、数据元素是数据的基本单位。
2、数据的三要素:逻辑结构、存储结构、运算
逻辑结构:如线性表是线性结构,集合、树、图是非线性结构
存储结构:也叫物理结构,包括顺序存储、链式存储、索引存储、散列存。顺序存储优点是实现随机存取,每个元素占用最少的存储空间。缺点是只能使用相邻的一整块存储单元,可能产生较多的外部碎片。链式存储优点是不会出现碎片的现象,能够充分的使用存储单元,缺点是每个元素因为指针额外需要存储空间,且只能顺序存取,如链表。索引存储使用了索引表,优点是查索速度快,缺点是索引表需要额外空间,增加或删除数据需要修改索引表,需要额外时间。散列存储是利用关键字计算存储地址,也叫哈希存储,优点是检索、增加和删除速度都非常快,缺点是如果散列函数不好会导致存储单元冲突,需要额外解决冲突时间和空间开销。
3、算法效率度量是时间复杂度和空间复杂度。
4、常见的时间复杂度:
同时需要注意比较经典的时间复杂度的求解:
例如:
求解过程如下:
5、 算法原地工作是指算法所需的辅助空间为常量,即O(1)。