摘要:
二叉树的深度优先遍历、广度优先遍历和非递归遍历二叉树的遍历:D:访问根结点,L:遍历根结点的左子树,R:遍历根结点的右子树。给定一棵二叉树的前序遍历序列和中序遍历序列可以惟一确定一棵二叉树(后序遍历可以举出很多不唯一的反例)。二叉树的深度优先遍历的非递归的通用做法是采用栈,广度优先遍历的非递归的通用做法是采用队列。深度优先遍历二叉树。1. 中序遍历(LDR)的递归算法:若二叉树为空,则算法结束;否... 阅读全文
posted @ 2011-11-26 20:35
kevin Lee
阅读(4526)
评论(0)
推荐(0)
摘要:
1,给定一个链表,要求写一个算法来判断其是否存在环?解答:这个题目的思路还是比较明晰的,就用大步小步法(就如同在一个圆形跑道中进行长跑比赛,一个人A以速度2m/s跑步,另一个人B以速度3m/s跑步,他们从同一起点开始跑步,那么在有限的时间内,他们必然会第二次相遇)应用到这个题目,就是我们选取两个指针p和q, p每次往前扫描1步,q每次往前扫描2步,那么如果链表存在圈,那么p和q一定会再次相遇,否则... 阅读全文
posted @ 2011-11-26 17:24
kevin Lee
阅读(341)
评论(0)
推荐(0)
摘要:
1,写一个算法,要求给定一个二叉树,算法能够返回其高度?解答:可以递归地去求子树的高度,这个问题的子问题就是,以当前节点为根的树德高度,为其左右子树高度的最大者再+1。定义空节点的高度为-1,叶子节点的高度为0,伪代码如下:int Tree-Height(Node* root) //root为当前所访问节点{ if (root == NULL) retur... 阅读全文
posted @ 2011-11-26 17:21
kevin Lee
阅读(573)
评论(0)
推荐(0)
浙公网安备 33010602011771号