自平衡二叉树

1、二叉树的三种遍历方式

  • TreeSet/TreeMap是自平衡二叉树,遵循左小右大原则存放。

实例1:100、200、50、60、80、120、140、130、135、180、666、40、55

其二叉树图如下:
image
解析:这个二叉树的画法是:每一个数都要和根比较,比根小的在左边,比根大的在右边。

1.1、前序遍历

遍历顺序参考中序遍历。
注:前序遍历的方式是:根左右。

1.2、中序遍历

  • TreeSet/TreeMap集合采用的是中序遍历方式。
  • Iterator迭代器采用的是中序遍历方式

中序遍历的方式是:左根右。
上面实例1采用中序遍历的解析:
图可以分解为:

  • 左(40、50、60、55、80);

    • 左还可以分解为:
    • 左(40)
      • 根(50)
      • 右(60、55、80)
        • 右还可以分解成:左(55)根(60)右(80)
  • 根(100)

  • 右(200、120、140、130、135、180、666)

    • 右还可以分解为:
    • 左(120、140、130、135、180)
      • 左边还可以分解为:
      • 左(空)
      • 根(120)
      • 右(140、130、135、180)
        • 右还可以分解为:
        • 左(130、135)
          • 左还可以分解为:左(空)根(130)右(135)
        • 根(140)
        • 右(180)
    • 根(200)
    • 右(666)

    根据“左根右”的原则:40、50、55、60、80、100、120、130、135、140、180、200、666

1.3、后序遍历

遍历顺序参考中序遍历。
注:后序遍历的方式是:左右根。

posted @ 2021-04-22 17:58  LFR  阅读(341)  评论(0)    收藏  举报