1、数据结构
- 索引提到了B树
- 数组和链表的区别,树是用什么存储的,可不可以用数组存储
- 快排的时间复杂度(NlogN)、最坏情况(N^2)
- 数据结构上的堆和栈有什么区别、底层结构是什么
- 红黑树
- 最大的K个数用什么排序算法,复杂度、同样是NlogN, 快排和堆排序有什么区别。
2、算法题:
- 写代码,类似高考成绩,一个表中有很多数据(无序的),给你一个成绩,查出在表中的排名
- 找出这两个链表是否有相交的点
- 判断链表有没有环,环起点在哪儿。
- 手撕topk,时间复杂度是多少。
- 写个算法,实现抢红包随机获取金额的过程参考
- 链表反转
- 两数之和(leetcode第一题~、~)
- 判断一个字符串是否为另一个字符串子串(暴力写的)
- 股票最大利润
- 实现单链表前后交叉排序:1,2,3,4,5,6 变成 1,4,2,5,3,6
- 因式分解
- 有序二叉树,一种遍历方法使之有序,中序遍历。
- 非递归实现先序遍历
- 找无序数组中第k个数(一开始说用堆实现、后来我又想着用快排的partation实现)
- 算法题:从字符串S变到T,插入消耗2、删除消耗2、替换消耗3、求最小