1.线性表的顺序表示(简称顺序表)
1.1初始化
1.2插入
1.3删除
1.4查找
2.线性表的链式表示(简称链表)
2.1定义
2.2插入
2.3删除
2.4查找
2.5头插法新建链表(以9999输入结束标志)
头插法:即插入的每一个元素都在头结点后,所以插入顺序与遍历链表的顺序相反
2.6尾插法新建链表(以9999输入结束标志)
尾插法:即插入的每一个元素都在最后一个结点后,所以插入顺序与遍历链表的顺序相同
3.栈
3.1定义
3.2出栈
3.3栈空
3.4入栈
4.循环队列
4.1定义
链式
4.2队空
链式
4.3入队
链式
4.4出队
链式
5.树
5.1定义
5.2二叉树层次建树
思路就是:假设元素为1, 2, 3, 4, 5
第一步:1为树根,1入队,队内元素为1
第二步:1的左孩子为空,所以1的左孩子为2,2入队,队内元素为1, 2
第三步:1的左孩子不为空, 右孩子为空,所以1的右孩子为3,3入队,队内元素为1, 2, 3,
此时队列的当前元素指针指向1
第四步:1的左孩子不为空,1右孩子不为空,所以找队列的下一个元素2,2的左孩子为空,所以2的左孩子为4,4入队,此时队列的当前元素指针指向2
第五步:2的左孩子不为空,2右孩子为空,所以2的左孩子为5,5入队,此时队列的当前元素指针指向2
5.3二叉树的前中后序遍历
5.4二叉树的层序遍历
6.查找算法
6.1顺序查找
6.2折半查找
6.3二叉排序树
6.3.1建树
6.3.2查找
6.3.3删除
真题:
7.排序算法
7.1交换类排序算法
7.1.1冒泡排序
7.1.2快速排序
注意:快排的pivopos不参与排序,和归并区分开
7.2插入排序
7.2.1直接插入排序
7.3选择排序
7.3.1简单选择排序
与冒泡排序不同的是:冒泡排序一轮下来可能有多次交换操作,而简单选择排序只有一次
7.3.2堆排序
7.4归并排序
7.5排序算法总结
真题解析: