自己选择面试题进行回答,选择题目总分大于100分,回答到75分即可通过。
红色题目为面试常见考点
20分题
1、链表逆序代码编写
2、判断链表是否成环代码编写
3、数组与链表的区别是什么?各有什么优缺点?
4、栈和队列的区别什么?业务场景各有哪些?
25分题
1、链表排序代码编写
2、编写快排或其它高性能排序算法的代码,并描述时间复杂度与空间复杂度,以及稳定性
3、已知二叉树的前序和中序,如何知道后序遍历
4、编写二分法查找代码
5、霍夫曼树权值计算方法
28分题
1、合并有序链表代码编写
2、编写完全二叉树的初始化代码
3、物理结构和逻辑结构各有哪些,这些数据结构各有什么特点
30分题
1、编写哈希表的初始化、插入、查询代码
2、使用无头单向循环链表编写约瑟夫环的出队函数:
void joseph(int n, int k, int m); //先初始化再依次出队
设编号分别为:1,2,...,n的n个人围坐一圈。约定序号为k(1≤k≤n)的人从1开始计数,数到m的那个人出列,他的下一位又从1开始计数,数到m的那个人又出列,依次类推,直到所有人出列为止。
例: 设n=8,k=3,m=4时,如图所示。

出列序列为:(6,2,7,4,3,5,1,8)。