- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构与算法第六章课后答案第六章 树和二叉树
第6章 树和二叉树(参考答案)
6.1
(1)根结点a
6.2
三个结点的树的形态: 三个结点的二叉树的形态:
(2) (3)
(1) (1) (2) (4) (5)
6.3 设树的结点数是n,则
n=n0+n1+n2+……+nm+ (1)
设树的分支数为B,有
n=B+1
n=1n1+2n2+……+mnm+1 (2)
由(1)和(2)有:
n0=n2+2n3+……+(m-1)nm+1
6.4
(1) ki-1 (i为层数)
(2) (n-2)/k+1
(3) (n-1)*k+i+1
(4) (n-1)%k !=0; 其右兄弟的编号 n+1
6.5(1)顺序存储结构
1 2 3 4 5 6 7 8 9 10 11 12 13 14
A B C D # E F # G # # # # H
注:#为空结点
6.6
(1) 前序 ABDGCEFH
(2) 中序 DGBAECHF
(3) 后序 GDBEHFCA
6.7
(1) 空二叉树或任何结点均无左子树的非空二叉树
(2) 空二叉树或任何结点均无右子树的非空二叉树
(3) 空二叉树或只有根结点的二叉树
6.8
int height(bitree bt)
// bt是以二叉链表为存储结构的二叉树,本算法求二叉树bt的高度
{ int bl,br; // 局部变量,分别表示二叉树左、右子树的高度
if (bt==null) return(0);
else { bl=height(bt-lchild);
br=height(bt-rchild);
return(blbr? bl+1: br+1); // 左右子树高度的大者加1(根)
}
}// 算法结束
6.9
void preorder(cbt[],int n,int i);
// cbt是以完全二叉树形式存储的n个结点的二叉树,i是数
// 组下标,初始调用时为1。本算法以非递归形式前序遍历该二叉树
{ int i=1,s[],top=0; // s是栈,栈中元素是二叉树结点在cbt中的序号
// top是栈顶指针,栈空时top=0
if (n=0) { printf(“输入错误”);exit(0);}
while (i=n ||top0)
{ while(i=n)
{visit(cbt[i]); // 访问根结点
if (2*i+1=n) s[++top]=2*i+1; //若右子树非空,其编号进栈
i=2*i;// 先序访问左子树
}
if (top0) i=s[top--]; // 退栈,先序访问右子树
} // END OF while (i=n ||top0)
}// 算法结束
//以下是非完全二叉树顺序存储时的递归遍历算法,“虚结点”用‘*’表示
void preorder(bt[],int n,int i);
// bt是以完全二叉树形式存储的一维数组,n是数组元素个数。i是数
// 组下标,初始调用时为1。
{ if (i=n bt[i]!=’*’)
{ visit(bt[i]);
preorder(bt,n,2*i);
preorder(bt,n,2*i+1);
}// 算法结束
6.10
int equal(bitree T1,bitree T2);
// T1和T2是两棵二叉树,本算法判断T1和T2是否等价
// T1和T2都是空二叉树则等价
// T1和T2只有一棵为空,另一棵非空,则不等价
// T1和T2均非空,且根结点值相等,则比较其左、右子树
{if (T1==null T2==null) return(1); // 同为空二叉树
else if (T1==null || T2==null) return(0); // 只有一棵为空
else if (T1-data!=T2-data) return(0);// 根结点值不等
else return(equal(T1-lchild,T2-lchild)equal(T1-rchild,T2-rchild)) //判左右子树等价
}// 算法结束
6.11
v
您可能关注的文档
最近下载
- 四川省(蓉城名校联盟)新高考2022级高三适应性考试数学试卷(含答案).pdf
- 水利监理质量控制体系.doc
- [五年级英语下册.doc VIP
- 《江西省宜春市明月山机场航站楼装修工程》投标技术标文件.doc
- GB_T 15114-2023 铝合金压铸件.docx
- 2021年第四期1+X建筑信息模型(BIM)职业技能初级实操题(三).pdf VIP
- 【最全】usedtodo,beusedtodoing用法辨析及练习(带答案).pdf VIP
- 财务报表审计模拟实训第六版刘雪清答案.pdf
- 广东省广州市天河区2020-2021学年八年级下学期期末考试英语试题(word版 含答案).docx VIP
- 招投标法律法规学习培训PPT.pptx VIP
文档评论(0)