資料結構 二叉樹的前 中 後序遍歷

2022-09-19 09:48:12 字數 1357 閱讀 3589

//遞迴實現前序遍歷

public static void preorderrecur(node head)

system.out.println(head);

preorderrecur(head.left);

preorderrecur(head.right);

}

//非遞迴實現前序遍歷

public static void preorderunrecur(node head)

stackstack = new stack<>();

stack.push(head);

while (!stack.isempty())

if (head.right != null)

}}

//遞迴實現中序遍歷

public static void inorderrecur(node head)

inorderrecur(head.left);

system.out.println(head);

inorderrecur(head.right);

}

//非遞迴實現中序遍歷

public static void inorderunrecur(node head)

stackstack = new stack<>();

while (!stack.isempty() || head != null) else

}}

//遞迴實現後序遍歷

public static void posorderrecur(node head)

posorderrecur(head.left);

posorderrecur(head.right);

system.out.println(head);

}

//非遞迴實現後序遍歷

public static void posorderunrecur(node head)

//若按先左孩子進棧,再右孩子進棧,出棧的次序是頭右左,所以再用乙個棧就可實現左右頭後序遍歷

stackstack = new stack<>();

stackprintstack = new stack<>();

stack.push(head);

while (!stack.isempty())

if (head.right != null)

}while (!printstack.isempty())

}

資料結構 二叉樹的遍歷(前 中 後序遍歷)

改編自 挑戰程式設計競賽2 目標 用三種遍歷方式列印出樹 由於我想偷懶易於理解我就不注釋了 輸入樣例 90 1 4 1 2 3 2 1 1 3 1 1 4 5 8 5 6 7 6 1 1 7 1 1 8 1 1 輸出樣例 前序遍歷的結果是 0 1 2 3 4 5 6 7 8 中序遍歷的結果是 2 1...

資料結構 二叉樹的前中後序遍歷

在電腦科學裡,樹的遍歷是指通過一種方法按照一定的順序訪問一顆樹的過程。對於二叉樹,樹的遍歷通常有四種 先序遍歷 中序遍歷 後序遍歷 廣度優先遍歷。前三種亦統稱深度優先遍歷 對於多叉樹,樹的遍歷通常有兩種 深度優先遍歷 廣度優先遍歷。在學習前面三種深度優先遍歷之前,很有必要了解它們之間到底是怎麼遍歷的...

二叉樹的前中後序遍歷

秋招記錄 對一棵二叉樹進行遍歷,我們可以採取3種順序進行遍歷,分別是前序遍歷 中序遍歷和後序遍歷。這三種方式是以訪問父節點的順序來進行命名的。假設父節點是n,左節點是l,右節點是r,那麼對應的訪問遍歷順序如下 前序遍歷 中左右 n l r 中序遍歷 左中右 l n r 後序遍歷 左右中 l r n ...