面试算法学习大纲
以下只包含我了解到出现频率较高的题,仅供参考,以后还会补充的,因为完全刷完leetcode挺难的。
有些题目是我自己面试以及从同学那里了解到的面试原题,面试官也是从题库里抽。
一、基础
1.时间复杂度和空间复杂度
- 时间复杂度
- 空间复杂度、选择排序、冒泡排序
- 插入排序的时间复杂度
- 二分法的复杂度
- 递归的复杂度
2.O(N*logN)的排序
-
归并排序
-
堆和堆排序
-
快速排序
3.进阶排序算法
- 桶排序
- 外部排序
- 工程中的排序
4.链表
- 数据结构以及特点
- 链表的遍历
- 链表的创建、头插法、尾插法
- 链表的反转 剑指Offer24(58同城一面原题)
- 链表相交点 leetcode160
- 两数相加 leetcode2 (快手二面原题)
- 链表中倒数第K个节点 剑指Offer22
5.二叉树
- 二叉树的三种遍历:递归与非递归
- 二叉树层次遍历以及按层次打印 剑指Offer32(猿辅导面试原题)
- 二叉树的镜像反转 leetcode226
- 二叉树的最近公共祖先 剑指Offer68
- 将二叉树展开为链