题目详情
题目详情:
发布时间:2023-10-21 09:34:44

[简答题]给定一棵用二叉链表表示的二叉树,其中的指针t指向根结点,试写出从根开始,按层次遍历二叉树的算法,同层的结点按从左至右的次序访问。

更多"给定一棵用二叉链表表示的二叉树,其中的指针t指向根结点,试写出从根开始"的相关试题:

[简答题]给定一棵用二叉链表表示的二叉树,其中的指针t指向根结点,试写出从根开始,按层次遍历二叉树的算法,同层的结点按从左至右的次序访问。
[多项选择]试写出从大到小输出二叉排序树中所有不小于x的元素的算法。
[填空题]以下算法在指针T所指的二叉排序树上的查找键值等于K的结点。成功时回送指向该结点的指针;否则回送空指针。请分析程序,并在______上填充合适的语句。 bitreptr search_bst(bitreptr T,keytype K) { if(T==NULL)return(NULL); else switch { case T—>key==K:______; case______: return(search_bst(T—>lchild,K)); case______: return(search_bst(T—>rchild,K)); } }
[填空题][说明]
已知一棵二叉树用二叉链表存储,t指向根结点,p指向树中任一结点。下列算法为输出从t到p之间路径上的结点。
[函数]
#define MaxSize 1000
typedef struct node
TelemType data;
struct node *lchild,*rchild;
BiNode, *BiTree;
void Path(BiTree t, BiNode *p)
BiTree *stack EMaxsize], *stack1 [maxsize], *q;
int tag[Maxsizel, top=0, top1;
q=t;
/*通过前序遍历发现P*/
do while (q!=NULL&&q! =p)
/*扫描左孩子,且相应的结点不为p*/
(1) ;
stack [top] =q;
tag [top] =0;
(2) ;

if (top>0)
if (stack [top]==P) break; /*找到p,栈底到栈顶为t到p*/
if(tag[top]==1) top--;
else q=stack[top];
q=q->rchild;
tag [top] =1;


(3) ;
top--; top1=0;
while(top>0)
q=stack [top]; /*反向打印准备*/
top1++;
(4) ;
top--;

while( (5) ) /*打印栈的内容*/
q=stack1[top1];
printf (q->data);
top1--;



[填空题][说明]
已知一棵二叉树用二叉链表存储,t指向根节点,P指向树中任一节点。下列算法为输出从t到P之问路径上的节点。
[C程序]
#define MaxSize 1000
typedef struct node
TelemType data ;
struct node *ichiid,*rchiid;
BiNode,*BiTree;
void Path(BiTree t,BiNode *P)
BiTree *stack[Maxsize],*stackl[Maxsize],*q;
int tag[Maxsize],top=0,topl;
q=t;
/*通过先序遍历发现P*/
dowhile(q!=NULL &&q!=p)
/*扫描左孩子,_日.相应的节点不为P*/
(1)
stack[top]=q;
tag[top]=0;
(2)

if(top>0)
if(stack[top]=P) break; /*找到P,栈底到栈顶为t到P*/
if(tag[top]==1)top--;
else q=stack[top];
q=q->rchiid;
tag[top]=1;


(3)
top--;topl=0;
while(top>0)
q=stack[top]; /*反向打印准备*/
topl++;
(4)
top--;

while( (5) ) /*打印栈的内容*/
q=stackl[topl]j
printf(q->data);
topl--;


[简答题]要求二叉树按二叉链表形式存储,并且:
(1)写一个建立二叉树的算法。
(2)写一个判别给定的二叉树是否是完全二叉树的算法。完全二叉树定义为:深度为K,具有N个结点的二叉树的每个结点都与深度为K的满二叉树中编号从1至N的结点一一对应。
[简答题]编写判定给定的二叉树是否是二叉排序树的函数。
[填空题][说明] 假设二叉树采用连接存储结构进行存储,root 指向根接点,p 所指结点为任一给定的结点,编写一个求从根结点到p所指结点之间路径的函数。
void path (root, p)
btree * root, * p;

Btree *stack[m0], *s;
int tag[m0], top =0, i, find =0;
s =root;
do

while (s ! = NULL)

stack [top] = s;
tag[top] =0;
( (1) )

if (top >0)

( (2) )
if (tag[top] = =1)

if( (3) )

for (i=1; i< =top; i+ + printf ("%d" ,stack[i]- >data);
find=1;

else top - -;

if( (4) )

p=p- >right;
( (5) )


while (find || (s! = NULL && top ! =0));

[简答题]试写出对象联系图的基本成分。
[简答题]试写出二分查找的递归算法。
[简答题]试写出轴类零件的简要加工工艺过程?
[简答题]什么是活性肽试写出谷胱甘肽的结构式。

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码