Stay hungry. Stay foolish.

0%

cs_for_interview

整理复习专业课的过程中考虑到一些可能提问的知识点(看到这些问题脑子里面要能想起来相关概念)

数据结构与算法

1.如何理解大O?时间复杂度如何衡量?

2.数据有哪些存储结构,优缺点?

3.解释一下贪心算法、动态规划、分治法?区别?举例?

4.栈的应用:括号匹配、后缀表达式求值的算法思想

5.递归是如何通过栈实现的?递归与非递归算法如何转化?

6.层次遍历中队列的作用

7.队列在计算机系统中的应用

8.字符串的模式匹配?KMP算法思想?

9.由遍历序列构造一棵二叉树思想?

10.线索二叉树的概念?

11.树的存储结构

12.二叉排序树(二叉查找树BST)及应用

13.平衡二叉树(AVL树)?与二叉排序树的关系?平衡因子?

14.哈夫曼树和哈夫曼编码,如何由哈夫曼树得到哈夫曼编码

15.图的相关定义,离散数学中的内容

16.图的两种存储结构

17.图的遍历:广搜深搜算法思想

18.最短路径问题:Dijkstra?Floyd?算法思想

19.最小生成树算法:Prim?Kruskal算法思想

20.拓扑排序,AOV网?关键路径,AOE网?

21.顺序、折半、分块查找,二叉查找树,平衡二叉树

22.B-树和B+树及应用

23.哈希表的概念、哈希函数的构造方法、哈希冲突的解决办法?

24.常考的排序算法:

  • 交换排序:快速排序?冒泡排序?
  • 选择排序:堆排序?简单选择排序?
  • 插入排序:直接插入排序?折半插入排序?希尔排序?
  • 归并排序:二路归并?
  • 分配排序:基数排序?桶排序?
  • 外部排序?

各种排序算法的比较总结,稳定性,时空复杂度,是否与初始序列有关

25.递归算法的时间复杂度如何计算?

26.动态规划问题一般解题步骤?斐波拉契数问题?找零钱问题?

27.回溯算法思想?回溯算法的决策树?全排列问题?N皇后问题(8)?

28.二分查找解题算法思想?寻找一个数、寻找左侧边界、寻找右侧边界?

29.滑动窗口算法思想(双指针)?最小覆盖子串,字符串排列包含,找所有字母异位词,最长无重复子串?

30.双指针算法思想?

快慢指针?

  • 判断链表是否含有环
  • 已知链表中含有环,返回这个环的起始位置
  • 寻找链表的中点
  • 寻找链表的倒数第 k 个元素

左右指针?

  • 二分查找
  • 两数之和
  • 反转数组
  • 滑动窗口算法

31.BFS算法思想应用?DFS与回溯的关联?
如何判断两顶点之间是否联通,或者是否有路径?判断无向图是否是一棵树?

BFS:

  • 求不带权无向连通图中距离顶点V最远的一个顶点
  • 二叉树的最小高度(图中起点到终点的最短距离)

DFS:

32.动态规划系列问题?

  • 最长递增子序列(注意与子串的区别)数学归纳的思想
  • 0-1背包问题
  • 子集背包问题(分割等和子集)
  • 编辑距离

33.王红梅数据结构课后习题部分:

  • 数组循环左移算法
  • 将数组元素分为左边是奇数,右边是偶数两部分,要求O(n)
  • 顺序表和单链表就地逆置算法(头插法与递归法)
  • 判定两个主串的公共子序列
  • 求二叉树的节点个数
  • 按前序次序打印二叉树的叶子结点
  • 求二叉树的深度
  • 二叉树后序遍历序列的逆序
  • 二叉链表找结点双亲
  • n个结点顺序存储的二叉树,非递归前序遍历
  • 交换二叉树中所有结点的左右子树
  • 树的孩子兄弟表示法,找x结点的第i个孩子
  • 深度优先遍历的非递归算法
  • 分别用DFS和BFS判断有向图两顶点之间是否有路径
  • 求给定结点在二叉排序树中的层次
  • 二叉排序树上任意两个不同结点的最近公共祖先
  • 判定一棵二叉树是否为二叉排序树

太多了,看蒙圈了……

操作系统

计算机网络

计算机组成原理

数据库

编程语言

计算机前沿技术

  • 区块链

  • 数据挖掘

  • 云计算

  • 大数据

  • 人工智能(机器学习、深度学习、自然语言处理)