当前位置:首页 » 存储配置 » 用二叉链做存储结构

用二叉链做存储结构

发布时间: 2025-03-03 09:54:05

① 以二叉链表为存储结构,写出求二叉树高度和宽度的算法

树的高度:对非空二叉树,其深度等于左子树的最大深度加1。

Int Depth(BinTree *T){int dep1,dep2;

if(T==Null) return(0);

else{dep1=Depth(T->lchild);

dep2=Depth(T->rchild);

if(dep1>dep2) return(dep1+1);

else return(dep2+1);}

树的宽度:按层遍历二叉树,采用一个队列q,让根结点入队列,最后出队列,若有左右子树,则左右子树根结点入队列,如此反复,直到队列为空。

int Width(BinTree *T){intfront=-1,rear=-1;

/*队列初始化*/int flag=0,count=0,p;

/* pint CountNode (BTNode *t)

//节点总数{int num;if (t == NULL)num = 0;

elsenum = 1 + CountNode (t->lch) + CountNode (t->rch);

return (num);}void CountLeaf (BTNode *t)

//叶子节点总数{if (t != NULL){if (t->lch == NULL && t->rch == NULL)count ++;

// 全局变量CountLeaf (t->lch);CountLeaf (t->rch);}}。

(1)用二叉链做存储结构扩展阅读

方法:

求二叉树的高度的算法基于对二叉树的三种遍历,可以用后序遍历的算法加上记录现在的高度和已知的最高的叶子的高度,当找到一个比已知高度还要高的叶子,刷新最高高度。

最后遍历下来就是树的高度,至于后序遍历的算法,是一本数据结构或者算法的书中都有介绍和参考代码

热点内容
政务云服务器 发布:2025-03-03 21:01:35 浏览:681
美团一般服务器搭建什么位置 发布:2025-03-03 20:59:01 浏览:821
安卓手机下载大全在哪里 发布:2025-03-03 20:54:38 浏览:89
安卓智学网学生端的作业在哪里 发布:2025-03-03 20:53:58 浏览:514
c框架源码下载 发布:2025-03-03 20:39:18 浏览:615
java实验二 发布:2025-03-03 20:38:20 浏览:854
原神如何在电脑端切换服务器 发布:2025-03-03 20:22:53 浏览:247
数据库提取数据 发布:2025-03-03 20:22:49 浏览:230
ftp设置只能上传 发布:2025-03-03 20:22:43 浏览:638
如何显示本机连接的wifi密码 发布:2025-03-03 20:21:50 浏览:68