第一范文网 - 专业文章范例文档资料分享平台

数据结构习题课第8、7、6章(网上的答案有些有问题的)

来源:用户分享 时间:2025/5/26 11:43:35 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

系 ) 的存储。

6.3 对于一棵具有n 个结点的树,该树中所有结点的度数之和为( n-1 )。 6.4 已知一棵树如图6.11 所示,试回答以下问题:

(1)树中哪个结点为根结点?哪些结点为叶子结点? 答:A 是根结点;E,G,H,I,C,J,K,L 为叶结点。 (2)结点B 的双亲为哪个结点?其子女为哪些结点? 答:B 的双亲结点是A,其子女结点为E 和F。

(3)哪些结点为结点I 的祖先?哪些结点为结点B 的子孙?

答:F,B,A 是结点I 的祖先结点;E,F,G,H,I 是B 的子孙结点。 (4)哪些结点为结点D 的兄弟?哪些结点为结点K 的兄弟? 答:B,C,L 是结点D 的兄弟结点,J 是结点K 的兄弟结点。 (5)结点J 的层次为多少?树的高度为多少? 答:结点J 的层次为3,树的高度为4。

(6)结点A、C 的度分别为多少?树的度为多少? 答:结点A 的度为4,结点C 的度是0,树的度是4。

(7)以结点B 为根的子树的高度为多少? 答:以结点B 为根的子树的高度是3。 (8)试给出该树的括号表示及层号表示形式。

答:该树的括号表示为:A(B(E,F(G,H,I)),C,D(J,K),L),该树的层号

表示为:10A,20B,30E,30F,40G,40H,40I,20C,20D,25J,25K,20L 6.5 试写出图6.11 所示树的前序遍历、后序遍历和层次遍历的结果。

答: 前序遍历:ABEFGHICDJKL 后序遍历:EGHIFBCJKDLA 层次遍历:ABCDLEFJKGHI

6.9 假设树采用指针方式的孩子表示法表示,试编写一个非递归函数,实现树的后序遍历算法。 答:

#include \

int PostOrderByStack (TreeNode *root) {

TreeNode *temp;

TreeNode *stack[MAXLEN];

// childSeq 表示当前打印到了此树第几个孩子,

int top,childSeq[MAXLEN]; int i;

top = -1; //初始化空栈

temp = root; while (1) {

while (temp != NULL)

{

for (i = 0;i < MAXN;i++) { if (temp->child[i] != NULL) { childSeq[++top] = i + 1; stack[top] = temp; temp = temp->child[i]; break; } }

// 如果此节点是叶子节点,则输出该结点 if (i == MAXN)

{ printf (\

temp = NULL; break; } }

while (top != -1 ) {

for (i = childSeq[top];i < MAXN;i++) {

if (stack[top]->child[i] != NULL) {

temp = stack[top]->child[i]; childSeq[top] = i + 1; break; } }

if (i == MAXN) {

printf (\ top--; }

if (temp != NULL) {

break; } }

if (top == -1) { return 1;

} } } int main ()

{ char string[MAXLEN]; TreeNode *root = NULL;

printf (\请用树的括号表示法输入一棵树:\\n\ scanf (\

root = CreateTree (root,string); PostOrderByStack (root); return 0; }

数据结构习题课第8、7、6章(网上的答案有些有问题的).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8gu8t7mqe66j6mw9sjhs44p5c1cp9m00dwm_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top