二叉树篇章之一

Posted 随性girl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树篇章之一相关的知识,希望对你有一定的参考价值。

1.二叉树的基本概念

英文名:binary tree

定义:二叉树,是度为二的树,二叉树的每一个节点最多只有二个子节点,且两个子节点有序。

 

1:1153的根15是左节点3是右节点

2如何获取到2的值(root.right.left.val

 

 

2.完全二叉树(complete binary tree

若设二叉树的深度为k,除第k层外,其他各层(1~(k-1)层)的节点数都达到最大值,且第k层所有的节点都连续集中在最左边,这样的树就是完全二叉树。如图:

二叉树篇章之一

(图片仅参考网友,侵删)

完全二叉树是一种效率很高的数据结构,而堆是一种完全二叉树或者近似完全二叉树,因此堆的效率也很高;像十分常用的排序算法、Dijkstra算法、Prim算法等都要用堆才能优化,二叉排序树的效率也要借助平衡性来提高,而平衡性是基于完全二叉树的。

 

3.满二叉树(full binary tree

分为国内、国外

国内教程定义:一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。也就是说,如果一个二叉树的层数为K,且结点总数是(2^k) -1 ,则它就是满二叉树。

 

二叉树篇章之一

国外(国际)定义:如果一棵二叉树的结点要么是叶子结点,要么它有两个子结点,这样的树就是满二叉树。(一棵满二叉树的每一个结点要么是叶子结点,要么它有两个子结点,但是反过来不成立,因为完全二叉树也满足这个要求,但不是满二叉树)

二叉树篇章之一

4.二叉搜索树Binary search Tree(BST):

若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉排序树

 

 

 

错误示范(以下不是BST):

 

 


以上是关于二叉树篇章之一的主要内容,如果未能解决你的问题,请参考以下文章

TreeMap源码分析之一 —— 排序二叉树平衡二叉树红黑树

二叉树22:二叉搜索树之一

Java 数据结构 & 算法宁可累死自己, 也要卷死别人 11 二叉树

Java 数据结构 & 算法宁可累死自己, 也要卷死别人 11 二叉树

算法基础:二叉树的遍历

万字长文!二叉树入门和刷题看这篇就够了!