数据结构与算法(5)----->二叉树

 

 

1.  概念

  二叉树节点的结构:

class Node{
    int value;          // value表示二叉树的节点值
    Node left;
    Node right;         // left和right表示二叉树的两个孩子
    Node(int data){
       this.value = data;
    }
}

       如图:

《数据结构与算法(5)----->二叉树》” /></p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><h2> 2.  二叉数的遍历</h2><h3>2.1  按顺序遍历二叉树</h3><ul><li>先序遍历:中、左、右</li><li>中序遍历:左、中、右</li><li>后序遍历:左、右、中<ul><li>以下图二叉树为例:</li><li><img layer-src=《数据结构与算法(5)----->二叉树》” /></p><ol><li>搜索二叉树按照中序遍历得到的序列,一定是从小到大排列的.</li><li>其中,红黑树/平衡二叉树(AVL树)等,都是搜索二叉树的不同实现.</li></ol><h2>5.  满二叉树</h2><p>  概念:满二叉树是除了最后一层节点无任何子节点外,剩下每一层上的节点都有两个子节点.</p><p style=《数据结构与算法(5)----->二叉树》” /></p><p style=  满二叉树的层数即为L,节点数即为N,则N=2L-1;L=log2(N+1).

5.  完全二叉树

   概念:除了最后一层之外,其他每一层的节点数都是满的,最后一层如果也满了,是一颗满二叉树,也是完全二叉树.最后一层如果不满,缺少的节点也全部的集中右边,那也是一颗满二叉树.

  如下,都是完全二叉树!!!

《数据结构与算法(5)----->二叉树》” /> <img layer-src=     原文作者:Mairr
    原文地址: https://www.cnblogs.com/Mairr/p/8408494.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。

点赞