算法分析:
循环算法和递归算法 无论时间效率还是空间效率都是前者高。递归算法在运行时,函数调用保存现场、开辟运行资源、返回回收资源都需要耗时。递归算法的参数表面是一个变量,实际上市一个栈。
结论1:
递归确实是一些复杂的问题处理起来简单明了,但是,就效率而言,递归算法的实现往往比循环算法耗费更多的时间和存储空间,也限制了递归的深度。所以,在具体的实现中,应尽可能把递归算法转换为等价...
分类:
其他好文 时间:
2014-06-20 13:18:09
阅读次数:
170
题目
Given preorder and inorder traversal of a tree, construct the binary tree.
Note:
You may assume that duplicates do not exist in the tree.
方法
根据树的中序遍历和前序遍历,来构造树,使用递归的思想。
Tre...
分类:
其他好文 时间:
2014-06-20 12:14:49
阅读次数:
262
题目
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
方法
数组是有序的,要求创建的二叉树尽量平衡,很容易想到对数组进行二分操作,左边的数组元素是左子树,右边的数组元素是右子树。进行递归操作就可以了。
TreeNode...
分类:
其他好文 时间:
2014-06-20 11:06:46
阅读次数:
257
一直想要写的 二叉树 中序 先序 后序遍历算法
递归的太简单了,就不写了。关键是非递归版本。
先序:
我自己的版本:
void RootPreTraverse(Node* p)
{
Stack S;
while(S not empty)
{
p=S.top();
S.pop();
Show(p);
if(p->right!=null)
S...
分类:
其他好文 时间:
2014-06-20 10:55:49
阅读次数:
279
题目
Given a binary tree, determine if it is height-balanced.
For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node...
分类:
其他好文 时间:
2014-06-20 09:02:56
阅读次数:
232
用JAVA写一个函数。功能如下:任意给定一组数,例如{12,60,-8,99,15,35,17,18},找出任意数相加之后的结果为35(任意设定)的情况.可以递归算法来解:...
分类:
编程语言 时间:
2014-06-07 16:27:55
阅读次数:
321
题目
Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.
For example:
Given the below binary t...
分类:
其他好文 时间:
2014-06-07 15:31:32
阅读次数:
179
题目
Given inorder and postorder traversal of a tree, construct the binary tree.
Note:
You may assume that duplicates do not exist in the tree.
方法
根据树的中序遍历和后序遍历,来恢复树,使用递归的思想。
Tr...
分类:
其他好文 时间:
2014-06-07 14:50:37
阅读次数:
231
题目
Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given sum.
For example:
Given the below binary tree and sum
= 22,
5
...
分类:
其他好文 时间:
2014-06-07 13:47:22
阅读次数:
191
By starting at the top of the triangle below and moving to adjacent numbers on the row below, the maximum total from top to bottom is 23.
3
7 4
2 4 6
8 5 9 3
That is, 3 + 7 + 4 + 9 = 23.
Find th...
分类:
其他好文 时间:
2014-06-07 13:45:25
阅读次数:
189