题目内容 (请给出正确答案)
[主观题]

函数void preorder(bintree t)实现了二叉树的非递归先...

函数void preorder(bintree t)实现了二叉树的非递归先序遍历,该算法借助栈进行实现,请选择合适的选项填入相应的空缺处,使算法完整。 用C语言描述二叉树结点的结构如下: typedef char datatype; /*结点属性值的类型*/ typedef struct node{ /*二叉树结点的类型*/ datatype data; struct node *lchild, *rchild; } bintnode; typedef bintnode *bintree; void preorder (bintree t) { bintree st[100]; //顺序栈 int top=-1; while (t || top!=-1) /*当前处理的子树不为空或栈不为空则循环*/ { if(t) { printf("%c ",t->data); ___(1)_______ //入栈 ___(2)_______ //继续往左子树遍历 } else { ___(3)_______ //取栈顶元,并出栈 t=t->rchild; //继续往右子树遍历 } } }

A、(1) top++;st[top]=t;

B、(1) st[top]=t;top++;

C、(2) t=t->lchild;

D、(2) t->lchild=t->lchild->lchild;

E、(3)t=st[top];top--;

F、(3)top--;t=st[top];

提问人:网友ancktion 发布时间:2022-01-07
参考答案
  抱歉!暂无答案,正在努力更新中……
如搜索结果不匹配,请 联系老师 获取答案
更多“函数void preorder(bintree t)实现了二…”相关的问题
第1题
假设二叉树采用链式方式存储,t为其根结点,请选择正确的选项将函数int Depth(bintree t) 补充完整,该函数功能为求树t的高度。 二叉链表定义如下: typedef struct node{ datatype data; struct node *lchild,*rchild; }bintnode typedef bintnode *bintree; 函数定义如下: int depth(bintree t) { int height,leftTreeHeight,rightTreeHeight; if (t==NULL) ( 1 ) ; else { (2) ; rightTreeHeight =depth(t->rchild); if ( (3) ) height=leftTreeHeight+1; else height= rightTreeHeight +1; } return height; }

A、(1) return 0;

B、(1) return 1;

C、(3) leftTreeHeight >= rightTreeHeight

D、(3) leftTreeHeight <= righttreeheight> E、(2) leftTreeHeight =depth(t->lchild)

F、(2) depth(t->lchild)

点击查看答案
第2题
计算机算法就是计算机程序。
点击查看答案
第3题
二分查找的递归实现,请选择正确的选项将函数补充完整。顺序表定义如下: typedef int datatype; /*假设数据类型为整型*/ typedef struct { datatype data[100]; /*此处假设数据元素只包含一个整型的关键字域*/ int len; /*线性表长度*/ } slist; /*预定义的顺序表类型*/ 函数定义如下: int binsearch(slist L,datatype key,int low,int high) { int mid,k; if ( (1) ) return -1; /*检索不成功的出口条件*/ else { mid=(low+high)/2; /*二分*/ if ( (2) ) return mid; /*检索成功返回*/ if (L.data[mid]>key) return (3) ;/*递归地在前半部分检索*/ else return binsearch(L,key,mid+1,high); /*递归地在后半部分检索*/ } }

A、(1) low>high

B、(1) low>=high

C、(2) L.data[mid]==key

D、(2) data[mid]==key

E、(3) binsearch(L,key,low,mid-1)

F、(3) binsearch(L,key,low,mid)

点击查看答案
第4题
函数slnklist delx(linklist head, datatype x),该算法实现删除带头结点单链表head中第一个值为x 的结点,请选择合适的选项填入空缺处,使算法完整。 用C语言描述单链表结点的结构如下: typedef int datatype; typedef struct link_node{ datatype info; struct link_node *next; }node; typedef node *linklist; del函数定义如下: linklist delx(linklist head,datatype x) { linklist pre,p; //pre指向待删除结点的前驱 pre=head; (1) ; while (p &&p->info!=x) //找到第一个info为x的结点 { (2) ; } if (p) { (3) ; } return head; }

A、(1) p=head->next;

B、(1) p=head;

C、(2) pre=p; p=p->next;

D、(2) p=p->next;pre=p;

E、(3)pre->next=p->next;free(p);

F、(3)p=p->next;pre->next=p;free(p);

点击查看答案
第5题
对特殊矩阵采用压缩存储的目的主要是去掉矩阵中的多余元素。
点击查看答案
第6题
两个字符串相等的充分必要条件是两个字符串中对应位置上的字符相等。
点击查看答案
第7题
( )是特指前臂内侧。

A、胫侧

B、桡侧

C、尺侧

D、腓侧

点击查看答案
第8题
因为堆排序的算法时间复杂度为 [图],冒泡排序的算...

因为堆排序的算法时间复杂度为,冒泡排序的算法复杂度为,所以堆排序一定比冒泡排序的速度快。

点击查看答案
第9题
胫侧是特指小腿外侧。
点击查看答案
第10题
垂直通过矢状面的是冠状轴。
点击查看答案
账号:
你好,尊敬的用户
复制账号
发送账号至手机
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
欢迎分享答案

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

简答题官方微信公众号

警告:系统检测到您的账号存在安全风险

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

微信搜一搜
简答题
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反简答题购买须知被冻结。您可在“简答题”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
简答题
点击打开微信