首页 > 编程知识 正文

以二叉链表为存储结构,写出求二叉树深度的算法,二叉树用二叉链表作存储结构

时间:2023-05-05 12:00:56 阅读:159136 作者:4941

一.二叉树的定义

——因为每个节点最多有两个子树,所以二叉树中不存在精度大于2的节点。

——左边的子树和右边的子树有顺序,不能颠倒顺序。

——即使有树的节点只有一棵子树,也要区分是左边的子树还是右边的子树。 (像人的左右手一样,左手拿碗,右手拿筷子) )。

二叉树的五种基本形态空二叉树只有一个根节点根节点,只有左子根节点,只有右子根节点,有左子树和右子树

二叉树是用来区分左右的,所以有三个节点的二叉树变成五种形状。

三、二叉树的性质是二叉树的第I层最多有2^(n-1 )个节点。 深度为k的二叉树最多拥有2^k-1个节点。 【K=1】对于任何二叉树t,设其终端节点数为n0,度为2的节点数为n2,则n0=n2 1具有n个节点的完全二叉树的深度为[log2n] 1四,二叉树的顺序记忆结构二叉树是特殊的树,由于其特殊性

从图中可以看出,完全二叉树的优越性是被严格定义的,所以可以直接在数组上表达逻辑结构。

当然,在一般二叉树中,层序编号并不反映逻辑关系,但可以修改为完全二叉树编号,用“^”代替不存在的节点。

但是,考虑到极端的情况,如果是右斜的树,那会怎么样呢?

造成了空间的浪费!

五、如果二叉树的连锁记忆结构顺序记忆方式的适用性不强,我们就要考虑连锁记忆结构。 二叉树记忆也按照国际惯例采用链式记忆结构。

二叉树的每个节点最多有两个孩子,所以与数据域; 两个指针字段是比较自然的想法,这样的链表称为双链表。

typedefstructbitnode { elemtype data; struct BiTNode *lchild,*rchild; }BiTNode,*BiTree;

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。