算法基础
- 狭义定义:对存储数据的操作。
- 广义定义:广义的算法也叫泛型,即无论数据时如何存储的,对该数据的操作都是一样的。
至少可以通过两种结构来存储数据
(1)数组
优点:存取速度快。
缺点:
- 存储数据时内存必须是连续的。(连续分配大量内存是十分困难的)。
- 插入删除数据需要移动其他数据导致效率很低。
(2)链表:
优点:存储数据时内存不需要连续,插入删除数据效率很高。
缺点:查找某个位置的元素效率低。
链表的基础知识
首节点:存放第一个有效数据的节点
尾节点:存放最后一个有效数据的节点
头结点:
- 头结点是首节点前面的那个节点,
- 头结点的数据类型和首节点的类型一样;
- 头结点并不存放有效数据;
- 设置头结点的目的是方便对链表进行操作
头指针:存放头结点地址的指针标量。