第6章 树作业提示

发布 2022-08-30 01:07:28 阅读 9436

第6章树。

6.1 求二叉树的叶子结点数。

1)参***1,利用函数返回值记录叶子结点数。

int leafcount (bitree root)

//返回二叉树root中的叶子结点数。

if(root==null)

return 0;

if (root ->lchild==null &&root ->rchild==null)

return 1;

return leafcount (root->lchild)+ leafcount (root->rchild);

2)参***2,利用参数记录叶子结点数。

void leafcount (bitree root,int &count)

//统计二叉树root中的叶子结点数,结果放在count中。

if(root!=null)

if (root ->lchild==null &&root ->rchild==null)

count++;return;}

leafcount (root->lchild, count);

leafcount (root->rchild, count);

6.3 试编写一个算法,用于找出结点数值为x的结点的所有祖先结点的数值。假定这棵二叉树各结点的数值都不相等。要求二叉树为链式存储结构。

typedef struct qelemtype; /队列中元素类型。

status ancestor1(bitree t,bitree p,bitree arr,int &n)

//求二叉树t中结点p的祖先结点,将其地址存放到数组arr中,n记录祖先结点个数。

int pr;

sqqueue q; /队列。

qelemtype e,f;

initqueue( q); 队列初始化。

enqueue ( q, e); 根结点进队。

while (!emptyqueue(q) &

if (>rchild)

n=0;if (emptyqueue(q))

return error; /没有p结点。

e= /p结点的双亲结点。

while ( 从后向前直到根。

/ visit(>data); 根结点。

arr[n]=

n++;return ok;

//ancestor

第6章树作业

一 选择题 每小题1分 1 二叉树第i i 1 层最多有 个结点。a 2i,b 2i c 2i 1 d 2i 1 2 线索化二叉树中某结点d,没有左孩子的主要条件是 a d一 lchild null b d一 ltag 1 c d一 rchild null d d一 ltag 0 3 在下列4棵树中...

第01章作业提示

1.问答题 1 数据结构含义。10 叙述抽象数据类型的概念。5.计算下列程序段中x x 1的语句频度 for i 1 i n i for j 1 j i j for k 1 k j k x x 1 6.编写算法,求一元多项式pn x a0 a1x a2x2 a3x3 anxn的值pn x0 并确定算...

第6章作业

15.设某异步通信接口,每帧信息格式为10位,当接口每秒传送1000个字符,其波特率为多少?答 波特率为 1000 10bit s 10000bit s 19 用汇编语言和c语言编程实现一个双机通信系统,将甲机的片内ram中30h 3fh的数据块,传送到乙机片外ram中0030h 003fh中,并画...