搜题
网友您好,请在下方输入框内输入要搜索的题目:
搜题
题目内容 (请给出正确答案)
提问人:网友Rockay_liu 发布时间:2022-01-06
[主观题]

设一棵二叉树的结点定义为 struct BinTreeNode{ ElemType data;BinTreeNode*leftchild,*rightc

hild;)现采用输入广义表表示建立二叉树。具体规定如下: (1)树的根结点作为由子树构成的表的表名放在表的最前面。 (2)每个结点的左子树和右子树用逗号隔开。若仅有右子树没有左子树,逗号不能省略。 (3)在整个广义表表示输入的结尾加上一个特殊的符号(例如“”)表示输入结束。例如,对于如右图所示的二叉树,其广义表表示为A(B(G)),E(G),C(F)。

简答题官方参考答案 (由简答题聘请的专业题库老师提供的解答)
查看官方参考答案
更多“设一棵二叉树的结点定义为 struct BinTreeNode{ ElemType data;BinTreeNode*leftchild,*rightc”相关的问题
第1题
设二叉树以二叉链表方式存储,试编写求解下列问题的递归算法。 设二叉树结点和二叉树结构体定义如下: typedef struct btnode { ElemType element; struct btnode* lchild, *rchild; }BTNode; typedef struct binarytree{ BTNode* root; }BinaryTree; (1)求一棵二叉树的高度;
点击查看答案
第2题
求如下(见附件图1)二叉树的先序、中序、后序、层序遍历序列。(20分) 2、已知一棵二叉树的先序和中序遍

1、求如下(见附件图1)二叉树的先序、中序、后序、层序遍历序列。(20分) 2、已知一棵二叉树的先序和中序遍历的结点序列分别为IJKLMNO及JLKINMO,试画出此二叉树,并给出后序遍历序列结果。(40分) 3、设二叉树以二叉链表为存储结构,结点类型定义如下: typedef struct Node{ int data; struct Node *lchild, *rchild }BiTNode, *BiTree; 请编写一个函数 int Count (BTree T),其功能是计算T所指的二叉树中结点值为偶数的结点数并返回该值。 (40分)

点击查看答案
第3题
设二叉树以二叉链表方式存储,试完成下列问题的递归算...

设二叉树以二叉链表方式存储,试完成下列问题的递归算法。 设二叉树结点和二叉树结构体定义如下: typedef struct btnode { ElemType element; struct btnode* lchild, *rchild; }BTNode; typedef struct binarytree{ BTNode* root; }BinaryTree; (1)求一棵二叉树的高度; int Depth(BTNode *p) { int lh, rh; if (!p) return 0; lh = ______________; rh = _____________; if (lh > rh) return _________; else return ________; } int DepthofBT(BinaryTree Bt) { return ___________; } (2)求一棵二叉树中的结点个数; int Size(BTNode * p) { if (!p) return _____ ; else return Size(p->lchild)+______________+1; } int SizeofBT(BinaryTree Bt) { return ______________); } (3)交换一棵二叉树中每个结点的左、右子树。 void exchange (BTNode * p) { if(!p) return; if (p->lchild != NULL || p->rchild != NULL ) { temp = p->lchild; p->lchild = ____________; p->rchild = temp; exchange (___________ ); exchange (p->rchild ); } } void exchange(BinaryTree *bt) { ____________________; }

点击查看答案
第4题
设一棵二叉树T以二叉链表为存储结构,试编写一个函数int LeafCount(BiNode *T),求二叉树中叶子结点的个数。 typedef struct Node {int data; struct Node *lchild,*rchild; } BiNode;
点击查看答案
第5题
已知一棵二叉树是以二叉链表的形式存储的,其结点结构说明如下: struct node{ int
data: //数据域 struct node*left; //左孩子 struct node * right; //右孩子 } 请在(1)、(2)两题的_________处进行填空,完成题目要求的功能。注意:每空只能填一个语句。 (1)求出以T为根的二叉树或子树的结点个数。 int size(struct node*T){ if(① ) return 0; else ② } (2)求出以T为根的二叉树或子树的高度。注:高度定义为树的总层次数。 int height(struct node*T){ if(T==NULL) ③ else ④ //此空可填多条语句 }

点击查看答案
第6题
算法设计题:设二叉树以二叉链表为存储结构,结点类型定义如下: typedef struct node{ int data; struct node *lchild, *rchild /* lchild指向左孩子,rchild 指向右孩子*/ }BiNode; 请编写一个函数 int Count (BiNode *root),其功能是计算root所指的二叉树中结点值为奇数的结点数并返回该值。
点击查看答案
第7题
二叉搜索树与双向链表题目:输入一棵二叉搜索树,将该二叉树转换成一个排序的双向链表。要求

二叉搜索树与双向链表

题目:输入一棵二叉搜索树,将该二叉树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中的结点指针的指向。比如输入图4.12中左边的二叉搜索树,则输出转换之后的排序双向链表。

二叉树结点的定义如下:

struct BinaryTreeNode

{

int m_ nValue;

BinaryTreeNode* m_pLeft;

BinaryTreeNode* m_pRight;

};

点击查看答案
第8题
程序填空。 若已知一棵二叉树的先序和中序,可唯一确定...

程序填空。 若已知一棵二叉树的先序和中序,可唯一确定这棵树。以下按照该法创建一棵二叉树,接着按中序遍历。 #include <stdio.h> #include <stdlib.h> typedef char ElemType; //定义结点数据为int型 typedef int Status; //定义函数类型为int型 #define ERROR 0 #define OK 1 struct BiTNode{ //定义结构体 ElemType data; //结点数值 struct BiTNode *lchild; //左孩子指针 struct BiTNode *rchild; //右孩子指针 }; BiTNode *BiTree,*s; // 两个全局指针变量 ElemType x[4]={'A','B','C','D'}; //该树的先序序列 ElemType z[4]={'C','B','A','D'}; //该树的中序序列 void CreateBiTree(BiTNode *root,ElemType y) //功能:将y插入到root所指向的树 { int k=0; if(root==NULL) //若root为空,即root指向空树,(*s)成为该树的根节点 {root=s;s->data=y;s->lchild=NULL;s->rchild=NULL;} //填充(*s) else //若非空 { while(_________________) //5分 k++; //在中序列找到等于当前插入元素y或者等于当 // 前根元素(root->data)的结点为止 if(z[k]==y) //若找到的结点等于当前插入元素y,说明y在根元 { //素(root->data)左边,代表y在根元素的左子树 CreateBiTree(root->lchild,y); //将y插入当前root的左子树 __________=BiTree; //配合BiTree=root; 使全局变量BiTree逐渐回归 } //到最大树的根节点,以便插入下一个结点时始终从最大树根节点出发 //同时使结点(*s)获得父亲 3分 else // 若找到的结点等于当前根元素(root->data),说明 { //y在当前根元素的右边,代表y在当前根元素的右子树 CreateBiTree(root->rchild,y); //将y插入当前root的右子树 ___________=BiTree; //配合BiTree=root; 使全局..........(同上) } } BiTree=root; //和上面配合,使全局变量BiTree逐渐回归到最大树的根节点。 //目前,BiTree、root、s三者相同,但结点(*s)还没有父亲 } void MidOrder(BiTNode *root) //中序遍历方法 { if(!(root->lchild==NULL)) MidOrder(root->lchild); printf("%c",root->data); if(!(root->rchild==NULL)) MidOrder(root->rchild); } main() { int i; BiTree=NULL; for(i=0;i<4;i++) if(s="(BiTNode*)malloc(sizeof(BiTNode)))" { createbitree(bitree,x[i]); 按照先序序列逐个插入,所有结点插入完毕后 树就建成了 } midorder(bitree);>

点击查看答案
第9题
设一棵完全二叉树的结点个数为18,则它的高度为_________。
点击查看答案
第10题
设一棵完全二叉树共有699个结点,则该二叉树的叶子结点数为【】

A.349

B.350

C.255

D.351

点击查看答案
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)

订单号:

遇到问题请联系在线客服

请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示:请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注简答题 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反简答题购买须知被冻结。您可在“简答题”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注简答题 -
请用微信扫码测试
欢迎分享答案

为鼓励登录用户提交答案,简答题每个月将会抽取一批参与作答的用户给予奖励,具体奖励活动请关注官方微信公众号:简答题

简答题官方微信公众号

简答题
下载APP
关注公众号
TOP