其他分享
首页 > 其他分享> > 2021-10-05

2021-10-05

作者:互联网

Morris遍历總結

Morris原理總結

核心點總結:
主要是根據左子樹最右子結點是否空或不爲空但指向當前cur結點為契機判斷執行不同流程 。
算法時間複雜度O(N),空間複雜度O(1)

Morris流程説明:

主要分爲三個大步驟:

  1. cur結點是否有左子樹 ,若沒有直接移動到右子樹 即 cur = cur.right

  2. **定義變量mostRight **

  3. cur結點有左子樹找到cur結點下左子樹最右子樹
    1. mostRight.right == null (第一次來到)mostRight.right = cur;
      cur = cur.left (cur往左下移動)
    1. mostRight.right == cur (第二次來到)mostRight.right = null;
      cur = cur.right (cur往右結點移動)
  4. 當cur == null時,遍歷停止

Morris 簡便圖形

二叉樹Morris遍历圖

标签:左子,10,right,cur,05,結點,mostRight,Morris,2021
来源: https://blog.csdn.net/u010416866/article/details/120615627