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