![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试算法题
嘤雄器短
藏器于身
展开
-
面试算法突击(三)递归的使用
有句话叫“迭代是人,递归是神”。 递归的使用大量应用在二叉树,链表等。 递归的难度就在于死脑筋,刚开始接触递归,往往会纠结于递归的每一个步骤,想方设法的弄明白递归的每一步是怎么走的,debug一步一步运行。这样做是有帮助的,但是当你接触大量的题目的时候,你会发现,其实抽象的概念我们可以用抽象的思维去理解。 你可以不以去了解每一步是怎么走的,你只需要弄明白俩件事: 1.整个递归的结束条件是什么? 2...原创 2019-01-10 21:48:27 · 303 阅读 · 0 评论 -
面试算法突击(一)堆排序
常见的堆排序:先构建大顶堆,每次将大顶与最后一个数替换,重新构建大顶堆。 public class Test { public static void main(String[] args) { int[] arr={7,2,4,9,3,0,15,11,67,24,99,18,55}; new Test().heapSort(arr); f...原创 2019-01-09 14:32:28 · 731 阅读 · 0 评论 -
面试算法突击(二)树,二叉搜索树的遍历
一想到二叉搜索树,你的第一反应就应该是“中序遍历”。 显而易见,二叉搜索树的直观印象就是左<根<右。中序遍历的顺序是啥?左根右。所以当你遍历完二叉树之后,就会发现,你完成了排序。 在遍历二叉搜索树之前我们需要先重温下如果去遍历一个普通的树。 最简单的方法就是 public void printPre(TreeNode node) { if (node == null) retu...原创 2019-01-09 15:17:14 · 149 阅读 · 0 评论