数据结构与算法期末练习题2.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二 填空题 1、在单链表L中,指针p所指结点有后继结点的条件是: p-next!=null 2、n(n大于1)个结点的各棵树中,其深度最小的那棵树的深度是___。它共有___个叶子结点和___个非叶子结点,其中深度最大的那棵树的深度是___,它共有___个叶子结点和_个非叶子结点。 (1)2 (2) n-1 (3) 1 (4) n (5) 1 (6) n-1 3、深度为9的完全二叉树最多有 个结点 4、二叉树由___,___,___三个基本单元组成。 5、先根遍历树林正好等同于按___遍历对应的二叉树. 设只含根结点的二叉树的高度为0,则高度为k的二叉树的最大结点数为______,最小结点数为______。 7、在有序表A[1..12]中,采用二分查找算法查等于A[12]的元素,所比较的元素下标依次为 8、设y指向二叉线索树的一叶子,x指向一待插入结点,现x作为y的左孩子插入,树中标志域为ltag和rtag,并规定标志为1是线索,则下面的一段算法将x插入并修改相应的线索,试补充完整:(lchild,rchild分别代表左,右孩子) x^.ltag:= ___; x^.lchild:=___; y^.ltag:= ___; y^.lchild:= ___; x^.rtag:=___; x^.rchild:=___; IF (x^.lchildNIL) AND (x^lchild^.rtag=1) THEN x^.lchild^.rchild:= __; (1)1 (2)y^.lchild (3)0 (4)x (5)1 (6) y (7)x(本题按中序线索化) 9、有N个顶点的有向图,至少需要量_______条弧才能保证是连通的。 10、在顺序表(8,11,15,19,25,26,30,33,42,48,50)中,用二分(折半)法查找关键码值11,需做的关键码比较次数为 12、利用树的孩子兄弟表示法存储,可以将一棵树转换为______。 13、n个结点的完全有向图含有边的数目__(7) 14、当问题的规模n趋向无穷大时,算法执行时间T(n)的数量级被称为算法的________。 15、假设S和X分别表示进栈和出栈操作,由输入序列“ABC”得到输出序列“BCA”的操作序列为SSXSXX,则由“a*b+c/d”得到“ab*cd/+”的操作序列为___________。 16、在一棵度为3的树中,度为2的结点个数是1,度为0的结点个数是6,则度为3的结点个数是________。 17、设t是给定的一棵二叉树,下面的递归程序count(t)用于求得:二叉树t中具有非空的左,右两个儿子的结点个数N2;只有非空左儿子的个数NL;只有非空右儿子的结点个数NR和叶子结点个数N0。N2、NL、NR、N0都是全局量,且在调用count(t)之前都置为0. typedef struct node {int data; struct node *lchild,*rchild;}node; int N2,NL,NR,N0; void count(node *t) {if (t-lchild!=NULL) if (1)___ N2++; else NL++; else if (2)___ NR++; else (3)__ ; if(t-lchild!=NULL)(4)____; if (t-rchild!=NULL) (5)____; } /*call form :if(t!=NULL) count(t);*/ 18、利用筛选法将关键字序列(37,66,48,29,31,75)建成的大根堆为(____ ____)。 19、对长度为20的有序表进行二分查找的判定树的高度为________。 20、阅读下列程序说明和程序,填充程序中的______ 【程序说明】本程序完成将二叉树中左、右孩子交换的操作。交换的结果如下所示(编者略)。 本程序采用非递归的方法,设立一个堆栈stack存放还没有转换过的结点,它的栈顶指针为tp。交换左、右子树的算法为: (1)把根结点放入堆栈。 (2)当堆栈不空时,取出栈顶元素,交换它的左、右子树,并把它的左、右子树分别入栈。 (3)重复(2)直到堆栈为空时为止。 1 typedef struct node *tree; struct node{int data; tree lchild,rchild;} exchang

文档评论(0)

zhaoxiaoj + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档