以下内容均为看郝斌老师视频和教学大纲,总结,复制粘贴而来的笔记。
链表
算法
通俗定义:
解题的方法和步骤
狭义定义:
对存储数据的操作
对不同的存储结构,要完成某一个功能所执行的操作是不一样的
比如:
要输出数组中所有的元素的操作和要输出链表中所有元素的操作肯定是不一样的
这说明:
算法是依附于存储结构的
不同的存储结构,所执行的算法是不一样的
广义定义:
广义的算法也叫泛型
无论数据是如何存储的,对该数据的操作都是一样的
我们至少可以通过两种结构来存储数据
数组
优点:
存取速度快
缺点:
需要一个连续的很大的内存
插入和删除元素的效率很低
链表
专业术语:
首节点:存放第一个有效数据的节点
尾节点:存放最后一个有效数据的节点
头节点:
头节点的数据类型和首节点的类型是一摸一样的
头节点是首节点前面的那个节点
头节点并不存放有效数据
设置头节点的目的是为了方便对链表的操作
头指针:存放头节点地址的指针变量
确定一个链表需要一个参数
头指针
优点:
插入删除元素效率高
不需要一个连续的很大的内存
缺点:
查找某个位置的元素效率低