算法
文章平均质量分 91
gigi就是我
这个作者很懒,什么都没留下…
展开
-
二叉树的遍历
前序遍历 preorder:根左右 中序遍历 inorder:左根右 后序遍历 postorder:左右根 每一种遍历都有递归和循环两种方法,其中递归比循环简单得多。 三种遍历递归方法的区别就是递归函数中递归左孩子、右孩子与当前节点的顺序。 而循环则需借用栈来实现。 前序遍历递归/** * Definition for a binary tree node. * public class原创 2016-08-16 11:58:33 · 331 阅读 · 0 评论 -
重建二叉树
106. Construct Binary Tree from Inorder and Postorder Traversal 105. Construct Binary Tree from Preorder and Inorder Traversal 由前序遍历+中序遍历(或中序遍历+后序遍历)重建二叉树。 以前序+中序为例,前序为根左右,因此第一个出现的为根节点,而中序则是左根右,根节点位于原创 2016-08-16 17:52:22 · 329 阅读 · 0 评论 -
各种排序
快速排序Ο(n log n) 从数列中挑出一个元素,称为 “基准”(pivot), 重新排序数列,所有比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面。这个过程结束后,该基准就处于其正确的位置上。这个称为分区(partition)操作。 递归地进行上面两步 传统实现方法function quickSort(arr){ if(arr.length == 0) return;原创 2017-03-11 09:58:57 · 273 阅读 · 0 评论