二叉树

了解二叉树之前先复习一下树--算法与数据结构中有学习

 

树具有的特点有:

(1)每个结点有零个或多个子结点

(2)没有父节点的结点称为根节点

(3)每一个非根结点有且只有一个父节点

(4)除了根结点外,每个子结点可以分为多个不相交的子树。

树的基本术语有:

若一个结点有子树,那么该结点称为子树根的“双亲”,子树的根称为该结点的“孩子”。有相同双亲的结点互为“兄弟”。一个结点的所有子树上的任何结点都是该结点的后裔。从根结点到某个结点的路径上的所有结点都是该结点的祖先。

 

结点的度:结点拥有的子树的数目

叶子结点:度为0的结点

分支结点:度不为0的结点

树的度:树中结点的最大的度

层次:根结点的层次为1,其余结点的层次等于该结点的双亲结点的层次加1

树的高度:树中结点的最大层次

森林:0个或多个不相交的树组成。对森林加上一个根,森林即成为树;删去根,树即成为森林。

 

 

二、二叉树

1、二叉树的定义

二叉树是每个结点最多有两个子树的树结构。它有五种基本形态:二叉树可以是空集;根可以有空的左子树或右子树;或者左、右子树皆为空。

 

 

 

 比如上面左侧的储存数据的状态,如果是队列结果的状态,查找71需要经过9次,

然后说说二叉树:跟节点先放第一个值0050然后,往下拿一个数,小的放跟节点的左边,大的放右边,然后向下类推,排序后可以发现查询到0071需要4次

看起来不错????

 

 如果是这样的数据特点的,他二叉树的方便查找的特点是不是就无法发挥优势了

 

 



 

 

posted @ 2021-11-10 11:31  托马斯骨头收集  阅读(62)  评论(0编辑  收藏  举报