算法导论10.4有根树的表示习题
2015-04-17 17:42
274 查看
10.4-2
10.4-3
思路:(前序遍历思想)初始时把根元素压入栈,然后每次弹出一个元素并打印后,必须把其子元素压入栈,这样树中未打印元素要么在栈中要么其祖先元素在栈中,最后每个元素都会被打印。
10.4-4
10.4-6
每个节点存储2个指针和一个布尔值,1个指针指向left-child,布尔值为1则表示right-sibling是nil,是兄弟元素中最后一个,第二个指针指向父元素。如果布尔值为0,另一个指针指向right-sibling.找到父节点或任一个孩子节点都是与孩子数成线性关系。
//伪代码 x=T.root Tree_key_print(x) print x.key; if x.left!=nil Tree_key_print(x.left) if x.right!= nil Tree_key_print(x.right); END
10.4-3
思路:(前序遍历思想)初始时把根元素压入栈,然后每次弹出一个元素并打印后,必须把其子元素压入栈,这样树中未打印元素要么在栈中要么其祖先元素在栈中,最后每个元素都会被打印。
//伪代码 Tree_key_print'(T,S)//S位空栈 root = T.root; push(S,root); while(S.head != nil) x=pop(S); print x.key if(x.left != nil) push(S,x.left) if(x.right != nil) push(S,x,right) END
10.4-4
//伪代码 x=T.root Tree_key_print(x) print x.key if x.left != nil Tree_key_print(x.left) while(x.right != nil) Tree_key_print(x.right) x=x.right
10.4-6
每个节点存储2个指针和一个布尔值,1个指针指向left-child,布尔值为1则表示right-sibling是nil,是兄弟元素中最后一个,第二个指针指向父元素。如果布尔值为0,另一个指针指向right-sibling.找到父节点或任一个孩子节点都是与孩子数成线性关系。
相关文章推荐
- 算法导论 10.4-2 O(n)时间 递归遍历二叉树
- 链表的多重数组表示(算法导论10-3)
- 算法导论 习题6.2-5 用迭代法实现堆排序
- 算法导论7.1-4习题解答(快速排序)
- Introduction to Algorithms 算法导论 第2章 算法入门 学习笔记及习题解答
- Introduction to Algorithms 算法导论 第3章 函数的增长 学习笔记及习题解答
- 基本图算法之图的表示——习题思路(2)
- 算法导论习题5.1-3
- 算法导论2:几个习题 2016.1.2
- 算法导论2.3-7习题
- 算法导论16.3-5--huffman树的表示
- 算法导论 习题22.3-12 判断图是否是单连通的
- 算法导论习题5.1-3
- 【算法导论第五章】课后习题解析
- 「算法导论」:课后习题2.3-7求集合S中是否有两个元素的和为X
- 算法导论12.1-3习题解答(非递归中序遍历)
- 从头看算法导论 习题2.3-7 深入分析