电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

数据结构复习资料。docVIP免费

数据结构复习资料。doc_第1页
1/11
数据结构复习资料。doc_第2页
2/11
数据结构复习资料。doc_第3页
3/11
习题5 6.已知一棵度为m 的树中有:n1 个度为1 的结点,n2 个度为2 的结点,……,nm 个度为m 的结点,问该树中共有多少个叶子结点? 【解答】设该树的总结点数为n,则 n=n0+n1+n2+……+nm 又: n=分枝数+1=0× n0+1× n1+2× n2+……+m× nm+1 由上述两式可得: n0= n2+2n3+……+(m-1)nm+1 7.已知二叉树的中序和后序序列分别为CBEDAFIGH 和CEDBIFHGA,试构造该二叉树。 【解答】二叉树的构造过程如图 5-12 所示。 8.对给定的一组权值W=(5,2,9,11,8,3,7),试构造相应的哈夫曼树,并计算它的带权路径长度。 【解答】构造的哈夫曼树如图5-13 所示。 树的带权路径长度为: WPL=2× 4+3× 4+5×3+7× 3+8×3+9× 2+11× 2 =120 10.算法设计 ⑴ 设计算法求二叉树的结点个数。 【解答】本算法不是要打印每个结点的值,而是求出结点的个数。所以可将遍历算法中的“访问”操作改为“计数操作”,将结点的数目累加到一个全局变量中,每个结点累加一次即完成了结点个数的求解。 具体算法如下: ⑵ 设计算法按前序次序打印二叉树中的叶子结点。 【解答】本算法的要求与前序遍历算法既有相同之处,又有不同之处。相同之处是打印次序均为前序,不同之处是此处不是打印每个结点的值,而是打印出其中的叶子结点,即为有条件打印。为此,将前序遍历算法中的访问操作改为条件打印即可。算法如下: ⑶ 设计算法求二叉树的深度。 【解答】当二叉树为空时,深度为 0;若二叉树不为空,深度应是其左右子树深度的最大值加 1,而其左右子树深度的求解又可通过递归调用本算法来完成。具体算法如下: ⑷ 编写算法,要求输出二叉树后序遍历序列的逆序。 【解答】要想得到后序的逆序,只要按照后序遍历相反的顺序即可,即先访问根结点,再遍历根结点的右子树,最后遍历根结点的左子树。注意和前序遍历的区别,具体算法如下: ⑸ 以二叉链表为存储结构,编写算法求二叉树中结点 x 的双亲。 【解答】对二叉链表进行遍历,在遍历的过程中查找结点 x 并记载其双亲。具体算法如下: ⑹ 以二叉链表为存储结构,在二叉树中删除以值x 为根结点的子树。 【解答】对二叉链表进行遍历,在遍历的过程中查找结点x 并记载其双亲,然后将结点x 的双亲结点中指向结点x 的指针置空。具体算法如下: ⑺ 一棵具有n 个结点的二叉树采用顺序存储结构,编写算法对该二叉树进行前序遍历。 【解答】按照题目要求,设...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

数据结构复习资料。doc

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部