1、排序算法
2、动态规划,参见背包问题x3
3、二叉树(介绍二叉搜索树的特点),二叉树遍历
https://www.jianshu.com/p/fc34468aa643
利用二叉树的遍历对该图的二叉树进行前序
和中序
以及后序
的遍历操作,我们首先来看看前序遍历
前序遍历
先输出根节点,然后遍历左子树和有子树的节点
具体操作如下:
先输出我们上图中的根节点(也就是宋江)
如果左子树不为null,则采用递归
继续前序遍历
如果右子树不为null,则采用递归
继续前序遍历
中序遍历
先遍历左子树,再输出根节点,最后遍历右子树
具体的操作如下:
如果左子树不为null,则采用递归继续中序遍历
接着是输出我们上图中的根节点(也就是宋江)
如果右子树不为null,则采用递归继续中序遍历
后序遍历
后序遍历规则:先遍历左子树,在遍历右子树,最后输出根节点
具体的操作如下:
如果左子树不为null,则采用递归继续后序遍历
如果右子树不为null,则采用递归继续后序遍历
最后是输出我们上图中的根节点(也就是宋江)。
4、加油站问题(贪心算法)
5、二分法
7、单链表反转,如何判断链表是否有环
8、取1000个数字里面的质数
9、找出数组中和为给定值的两个元素,如:[1, 2, 3, 4, 5]中找出和为6的两个元素。
10、线性顺序存储结构和链式存储结构有什么区别?以及优缺点
五大算法
介绍快速排序
介绍排序算法和快排原理
手写一个快速排序 你看归并排序行吗?好吧不行.之后就开始了数据结构、算法、计算机网络的快乐旅程... 我就是在这一块凉的,这方面的基础知识还真是不大过关。
实现快速算法x2
各种排序,重点是快排
介绍冒泡排序,选择排序,冒泡排序如何优化
手写冒泡排序
二分查找的时间复杂度怎么求?
二分排序法
用二分查找实现 indexOf 方法,不允许用递归;
补充: 其实对于 ES6,已经对递归函数做了尾调用优化,是可以用递归来实现的。而 Python 解释器是没有实现尾调用优化的。
一个有序的数组进行查找操作?(手写) 别说了,二分查找开始吧
算法:top-K问题,分成top-1,top-2,top-K三小问
算法:实现setter(obj, 'a.b.c' ,val)
从一个无序,不相等的数组中,选取N个数,使其和为M实现算法
Promise串行
题目:现在有一个数组[1,2,3,4],请实现算法,得到这个数组的全排列的数组,如[2,1,3,4],[2,1,4,3]。。。。你这个算法的时间复杂度是多少
https://juejin.im/post/5bfff5086fb9a049c84f2d24#heading-16
https://juejin.im/post/5b3b70ea6fb9a04fe91a5039
求斐波那契数列(兔子数列) 1,1,2,3,5,8,13,21,34,55,89...中的第 n 项
https://juejin.im/post/5b3b70ea6fb9a04fe91a5039#heading-5
算法的效率
https://juejin.im/post/5b3b70ea6fb9a04fe91a5039#heading-5
项目中树的使用场景以及了解
斐波那契数列?怎么优化?
看过算法导论吗
对图有了解吗
贪心算法: 局部最优解法
分治算法: 分成多个小模块,与原问题性质相同
动态规划: 每个状态都是过去历史的一个总结
回溯法: 发现原先选择不优时,退回重新选择
分支限界法
观察者模式里面使用的数据结构(不具备顺序 ,是一个list)
介绍下DFS深度优先