- 14
- 0
- 约1.58千字
- 约 2页
- 2017-06-08 发布于重庆
- 举报
2006年本科生数据结构上机实习题目
2006年本科生数据结构上机实习题目
题目:
1.猴子吃桃子问题
5只猴子一起摘了一堆桃子,因为太累,决定睡一觉后再来分桃,过了不知多久,第1只猴子先醒来,它见别的猴子没来,便将一堆桃子平均分成 5 份,结果多了1个,就将多的这个吃了,拿走其中的一堆。又过了不知多久,第二只猴子来了,它不知道有一个同伴已经来过,还以为自己是第一个,便将地上的桃子平均分成 5 份,发现也多了一个,同样吃了这一个,拿走其中的一堆。第3只,第4只,第5 只猴子都是这样......问这5只猴子至少摘了多少个桃子?
分析:设第n个猴子分的每堆有Xn个
则有这个关系式:
5*X n+1 +1 4*Xn
所以:
X n+1 4/5 ^4*X1- 4/5 ^3* 1/5 - 4/5 ^2* 1/5 - 4/5 * 1/5 - 1/5
用递归算法效率较高
2.在采用链式存储结构存储的二叉树上,以bt指向根接点,p指向任一给定的接点,编程实现求出从根接点到给定接点之间的路径。
分析:在二叉树上无论采用哪种遍历方法,都能够访问遍树中的所有结点。由于访问结点的顺序不同,前序遍历和中序遍历都很难达到设计的要求;但采用后序遍历二叉树是可行的,因为后序遍历是最后访问根结点,按这个顺序将访问过的结点存储到一个顺序栈中,然后 再输出即可。因此可以非递归地后序遍历二叉树bt,当后序遍历访问到结点*p时,此时栈stack中存放的
原创力文档

文档评论(0)