网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

请认真阅读以下函数说明、图及C程序,将程序段中(1)~(7)空缺处的语句填写完整。

[说明]

一般的树结构常采用孩子—兄弟表示法表示,即用二叉链表做树的存储结构,链表中节点的两个链域分别指向该节点的第一个孩子节点和下一个兄弟节点。例如,如图1-15(a)所示树的孩子—兄弟表示如图1-15(b)所示。

函数LevelTraverse()的功能是对给定树进行层序遍历。例如,对如图1-15所示的树进行层序遍历时,节点的访问次序为D B A E F P C。

对树进行层序遍历时使用了队列结构,实现队列基本操作的函数原型如表1-11所示。

Bool、Status类型定义如下:

树的二叉链表节点定义如下:

[C函数程序]


参考答案

更多 “ 请认真阅读以下函数说明、图及C程序,将程序段中(1)~(7)空缺处的语句填写完整。[说明]一般的树结构常采用孩子—兄弟表示法表示,即用二叉链表做树的存储结构,链表中节点的两个链域分别指向该节点的第一个孩子节点和下一个兄弟节点。例如,如图1-15(a)所示树的孩子—兄弟表示如图1-15(b)所示。函数LevelTraverse()的功能是对给定树进行层序遍历。例如,对如图1-15所示的树进行层序遍历时,节点的访问次序为D B A E F P C。对树进行层序遍历时使用了队列结构,实现队列基本操作的函数原型如表1-11所示。Bool、Status类型定义如下:树的二叉链表节点定义如下:[C函数程序] ” 相关考题
考题 阅读以下说明、图和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*/

考题 为便于存储和处理一般树结构形式的信息,常采用孩子-兄弟表示法将其转换成二叉树(左子关系表示父子、右子关系表示兄弟),与图8-2所示的树对应的二叉树是(5)。A.B.C.D.

考题 某二叉树如图所示,若进行顺序存储(即用一维数组元素存储该二叉树中的节点且通过下标反映节点间的关系,例如,对于下标为i的节点,其左孩子的下标为2i、右孩子的下标为2i+1),则该数组的大小至少为 (请作答此空) ;若采用三叉链表存储该二叉树(各个节点包括节点的数据、父节点指针、左孩子指针、右孩子指针),则该链表的所有节点中空指针的数目为 ( ) 。 A.6 B.10 C.12 D.15

考题 某二叉树如图所示,若进行顺序存储(即用一维数组元素存储该二叉树中的节点且通过下标反映节点间的关系,例如,对于下标为i的节点,其左孩子的下标为2i、右孩子的下标为2i+1),则该数组的大小至少为 ( ) ;若采用三叉链表存储该二叉树(各个节点包括节点的数据、父节点指针、左孩子指针、右孩子指针),则该链表的所有节点中空指针的数目为 (请作答此空) 。 A.6 B.8 C.12 D.14

考题 设某二叉树采用二叉链表表示(即结点的两个指针分别指示左、右孩子)。当该二叉树包含 k 个节点时,其二叉链表节点中必有(59)个空的孩子指针。A.k-1 B.K C.k+1 D.2k

考题 在以下几种存储结构中,哪个最适合用作链栈?并说明理由。 (1)带头节点的单链表 (2)不带头节点的循环单链表 (3)带头节点的双链表

考题 1、下列存储结构中,()不是树的存储结构。A.顺序存储表示法B.孩子兄弟表示法C.孩子链表表示法D.双亲表示法

考题 7、在下列存储形式中,哪一个不是树的存储形式()?A.双亲表示法B.孩子链表表示法C.孩子兄弟表示法D.单链表表示法

考题 15、以下存储结构中,不是树的存储结构是 。A.双亲表示法B.孩子兄弟链表C.孩子链表存储结构D.广义表