未分类题
由3个结点可以构造出______种不同形态的二叉树。
A.3
B.4
C.5
D.6
【参考答案】
C 难易程度:易
点击查看答案
<上一题
目录
下一题>
热门
试题
未分类题
设一棵二叉树共有50个叶子结点(终端结点),则共有___个度为2的结点。
点击查看答案
未分类题
阅读以下说明、图和C代码。【说明】一般的树结构常采用孩子-兄弟表示法表示,即用二叉链表作树的存储结构,链表中结点的两个链域分别指向该结点的第一个孩子结点和下一个兄弟结点。例如,图10-8(a)所示的树的孩子-兄弟表示如图10-8(b)所示。函数LevelTraverse()的功能是对给定树进行层序遍历。例如,对图10-1所示的树进行层序遍历时,结点的访问次序为D B A E F P C。对树进行层序遍历时使用了队列结构,实现队列基本操作的函数原型如下表所示:Bool、Status类型定义如下:typedef enum { FALSE=0,TRUE=1 } Bool;typedef enum { VERFLOW=-2,UNDERFLOW=-1,ERROR=0,OK=1}Status;树的二叉链表结点定义如下:typedef struct Node {char data;struct Node *firstchild,*nextbrother;} Node,*TreeNode;【函数】Status LevelTraverse ( TreeNode root ){ *层序遍历树,树采用孩子-兄弟表示法,root是树根结点的指针* Queue tempQ;TreeNode ptr,brotherptr;if (! root)return ERROR;InitQueue(&tempQ);(1);brotherptr = root -> nextbrother;while (brotherptr) {EnQueue(&tempQ,brotherptr);(2);} *end-while* while((3)){(4);printf('%c\t',ptr->data);if((5))continue;(6);brotherptr = ptr->firstchild->nextbrother;while (brotherptr) {EnQueue(&tempQ,brotherptr);(7);} *end-while* } *end-while* return OK;} *LevelTraverse*
点击查看答案
相关试题
通过Oracle SQL Developer可完成的DBA操...
下列针对linux维护操作过程中,配置文件说...
下列关于oracle数据库角色以及权限控制说法...
下列不属于DataGuard 优点的是()。
Jenkins基于DOCKER的安装要求必须安装如下...