当前位置:   article > 正文

数据结构 树、二叉树、完全二叉树_完全二叉树只有非空左子树

完全二叉树只有非空左子树

树是我们常用的数据结构,如堆、二叉搜索树、B树等,它们都有自己的特点,使得我们在程序设计中常常使用。下面就说说树的基础知识,树、二叉树和完全二叉树。并用java使用链表描述完全二叉树。


1、树

一棵树是一个非空的有限元素的集合,其中一个元素为根其余的元素组成树的子树。这个定义并不是那么的直观,在图论中,树的定义是无环的连通图。例如下图三棵树:


在画一棵树时,每个元素都代表一个节点。树根画在上面,其子树画在下面,在树中节点之间的关系有孩子、父母、兄弟、孙子、祖父、祖先、后代。如上图中最右边的树,1是2、3的父母;2和3是兄弟;2、3是1的孩子,4、5、6、7是1的后代。在树中没有孩子的元素称为叶子(右图中的4、5、6、7),树根是唯一没有父母的元素。

一棵树的高度或深度是树的层数。如上三图的高度都是3.

树中一个元素的度是其孩子的个数,如上右图中1的度是2.一棵树的度是元素度的最大值。


2、二叉树

一棵二叉树是有限个元素的集合(可以为空)。当二叉树非空时,其中有一个元素称为根,余下(如果有的话)被划分成两棵二叉树,分别称为左子树和右子树。


二叉树与树的区别:二叉树的每个元素都恰好有两棵子树(其中一个或两个可能为空)。而树的每个元素可有任意数量的子树。在二叉树中,每个元素都是有序的,也就是说有左子树和右子树之分。而树的子树是无序的。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/50388
推荐阅读
相关标签
  

闽ICP备14008679号