- 博客(5)
- 资源 (1)
- 收藏
- 关注
原创 二叉查询树三种遍历的非递归写法 [No. 78]
这里写出三种儿叉查询树遍历的非递归写法,非常有意思。 preorder:先打印root,再left,最后right。 public static void BSTPreorderTraverse(Node node) { if (node == null) { return; } Stack s = new Stack(); s.
2011-08-28 03:11:41 1245
原创 数组中找出第k大的值
最简单的办法,就是先排序,然后把第K个值找出来,这样算法的复杂度为 O(nlgn). 其实还有一种更简单的方法,其平均复杂度 为 O(lgn),当然,最坏是 O(n^2). 这种算法就是利用了 quicksort 和二分查找 的做法。先把数组分成两个部分,左边一个部分比pivot小,另一边比pivot大。然后再观察pivot的位置,如果pivot的位置比 K大,那么那个第K个值就一定在p
2011-08-19 02:30:14 2157
原创 The diameter of a binary tree [No. 40]
Definition: The diameter of a tree (sometimes called the width) is the number of nodes on the longest path between two leaves in the tree. The diameter of a tree T is the largest of the following qua
2011-08-16 05:08:12 1364
转载 把一个排好序的数组数组转化成一颗平衡二叉查询树 [No. 79]
Solution: If you would have to choose an array element to be the root of a balanced BST, which element would you pick? The root of a balanced BST should be the middle element from the sorted array.
2011-08-09 12:16:43 2150
原创 二叉查找树(Binary Search Tree)
二叉查找树(Binary Search Tree),或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉排序树。 二叉查找树的表示: class Node { int data; Node leftChild =
2011-08-05 03:32:09 2044 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人