有同学跟我说让我总结一下哪些代码必须会手写,现总结如下:
单链表
- 头插法创建单链表
- 尾插法创建单链表
- 链表遍历
- 单链表逆置
栈和队列
- 入栈操作(别忘了判满)
- 出栈操作(别忘了判空)
- 入队操作(别忘了判满)
- 出队操作(别忘了判空)
串
树和二叉树
-
二叉树的节点结构
-
二叉树的前序、后序、中序遍历的递归与非递归
-
二叉树层次遍历
图
- 图节点结构,边结构
- 图的深度优先遍历
- 图的广度优先遍历
- 迪杰斯特拉算法
- 弗洛伊德算法
- 拓扑排序算法
排序
- 直接插入排序
- 折半插入排序
- 希尔排序
- 简单选择排序
- 堆排序
- 冒泡排序
- 冒泡排序优化(双冒泡排序)
- 快速排序
- 快排优化(有需要的看看这个)
- 归并排序
查找