面试复习重点 算法 数据结构 【山科大牛陈磊整理】

算法、数据结构


一:算法


1. 算法的几个特征是什么。

2. 算法复杂性的定义。大O、θ、Ω、小o分别表示的含义。

3. 递归算法的定义、递归算法的两要素。

4. 分治算法的思想,经典的分治算法(全排列、二分搜索、归并排序、快速排序、线性时间选择、最接近点对问题)

5. 动态规划算法解题框架,动态规划算法的两个要素是什么?备忘录方法是什么?

6. 经典的动态规划问题(矩阵连乘问题、最长公共子序列问题、0-1背包问题)。

7. 贪心算法的思想,贪心算法的两个要素。

8. 经典的贪心问题(活动安排问题、背包问题、装载问题、哈夫曼编码、单源最短路径、最小生成树问题)。

9. 回溯法的思想,回溯法中有哪两种典型的模型。

10. 经典的回溯算法(n后问题、0-1背包问题、旅行售货商问题)。

11. 分支限界法思想,有哪两种分支限界法。

12. 经典的分支限界算法(0-1背包问题、旅行售货商问题)。


二:数据结构


1. 数据结构的定义。

2. 栈的两个应用:括号匹配和表达式的计算。是怎么应用的?表达式计算用的是哪种表达方式?有什么好处?

3. 字符串匹配算法:朴素的匹配算法、KMP算法

4. 二叉树前序、中序、后序递归遍历算法。二叉树前序非递归遍历算法。

5. ,建堆算法,堆的插入和删除算法,堆排序

6. 哈希。哈希函数的有哪些种?余数的取法? 处理冲突的方法? 闭散列方法有哪些?

7. 二叉搜索树的搜索、插入、删除。时间复杂度。

8. 二叉平衡树的插入结点的原理,有哪几种旋转方式?分别适用于哪种情况。分析二叉平衡树的时间复杂度。

9. 红黑树的定义,红黑树的性能分析和与二叉平衡树的比较

10. 图有哪些储存表示。

11. 链表插入排序、链表归并排序。

12. 常见的有哪几种排序算法,试比较其时间复杂度,以及是否稳定,及各自使用的情形。

13. 常用分配排序有哪几种? 基数排序的定义,分类及原理。

14. B树、B+树、Trie的概念及用途,添加删除结点的原理。


你可能感兴趣的:(数据结构,算法,面试,笔试)