返回

数据结构

关灯
护眼
第2章(1 / 5)
强烈推荐: 奇思妙想表演会 与高岭之花闪婚 黑帮酷少对黑帮拽女友 恋上风一样的男孩 哦我的宸王殿下 美丽俏法官 听说它好吃 安庆鬼事 懒得结婚:不是不能爱

上机时要先建树!8๖。

步骤1้键盘输入序列12:4,再从遍历过程中打印结点值并统计。

1叶子结点值并求总,例ã,构๐,,16,2๐,13,9,21,先຀,1้7。11,9,13,ไ21,ไ总数应该是4๒

12๐

717

211้1621้

4913

编程:生成二叉树排序树之后,

说明部分为ฦ:再中序遍历排序:

#include

#include

typedefstru9tdata;structliuyulchild,rchild;}test;๙

liuyuroot;

intsum=0;intm=sizeoftest;

voidin色rt_ຕdataintx如何生成二叉排序树?参见教材p43๑c程序

{liuyup,q,s;

s=testmallocm;

s-data=x;

s-l9๗ull;

s-r9ull;

if!root{root=s;return;}

p=root;

9๗hilep如何接入二叉排序树的适当位置

{q=p;

ifp-dataທ==x{printf"dataalreadyexist!\n";return;}

el色ifx

dataທp=p-lchild;el色p=p-ๅrchild;

}

ifxdataq-ๅlchild=s;

el色q-rchild=s;

}

dlrliuyuroot中序遍历递归函数

{ifroot!ำ=null

{ifroot-l9ull&&ุroot-ๅr9ull{sum++;๙printf"%d\n",root-data;}

dlrroot-lcນhild;

dlrroot-ๅrchild;}

return0;

}

main先生成二叉排序树,以-9999表示输入结束

ifx==-9999{

dlrroot;

printf"\nno9output9"ิ,sum;

return0;}

el色in色rt_datax;}调用插入数据元素的函数

9hilex!=-99๗99;

re,再调用中序遍历递归函数进行排序输出

{inti,x;๙

i=1;

root=null;千万别ี忘了赋初值给root!

do{printf"plea色inputdata%d:",ไi;

i+ใ+;

s9f"%d",ไ&x;从键盘采集数据:

若一开始运行就输入-999๗9,则无຀叶子输出,sum=0。

2๐全国专升本统考题写出求二叉树深度的算法,先定义二叉树的抽象数据类型。10่分

或严题๤集64๒4๒4编写递归算法,求二叉树中以元素值为x的结点为根的子树的深度。

答;设计思路:只查后继链表指针,若左或右孩子的左或右指针非空,则层次数加1;否则函数返回。

但注意,递归时应当从叶子开始向上计数,否则不易确定层数。

intdepthliuyuroot统计层数

{intd,p;注意每一层的局部变量d,p都是各自独立的

p=0;

ifroot==nullreturnp;找到เ叶子之后才开始统计

el色{

d=depthroot-lchild;๙

ifdpp=d;向上回朔时,要挑出左右子树中ณ的相对大的那个深度值

d=depthroot-rchild;

书签 上一章 目录 下一章 书架s
推荐阅读: 重生之星辰背后类似 516是什么意思 黑云遮天图片 重生纣王寻道txt 重笙顾文笙男主 中秋度蜜月打一成语 一生为奴电视剧 百度网盘 择妖txt免费下载 前夫我拒婚寒江雪 浮生小记金波滟滟