二叉樹的先序 先序遍歷與后序遍歷?
先序遍歷與后序遍歷?前序遍歷:首先訪問根節(jié)點,然后遍歷左子樹,最后遍歷右子樹。在遍歷左、右子樹時,我們還是先訪問根節(jié)點,然后遍歷左子樹,最后遍歷右子樹。后序遍歷:首先遍歷左子樹,然后遍歷右子樹,最后訪
先序遍歷與后序遍歷?
前序遍歷:首先訪問根節(jié)點,然后遍歷左子樹,最后遍歷右子樹。在遍歷左、右子樹時,我們還是先訪問根節(jié)點,然后遍歷左子樹,最后遍歷右子樹。
后序遍歷:首先遍歷左子樹,然后遍歷右子樹,最后訪問根節(jié)點。遍歷左、右子樹時,仍先遍歷左子樹,再遍歷右子樹,最后遍歷根節(jié)點。
數(shù)據(jù)結構中已知前序序列和中序序列,怎么得出后序序列?
首先要明確前序、中序、后序的遍歷順序:前序:父節(jié)點、左子節(jié)點、右子節(jié)點;中序:左子節(jié)點、父節(jié)點、右子節(jié)點;后序:左子節(jié)點、右子節(jié)點、父節(jié)點;首先根據(jù)前序遍歷,確定整個二叉樹的根節(jié)點(前序的第一個節(jié)點),然后通過中間序遍歷,將整個二叉樹按根節(jié)點直接劃分為兩個子樹。
此時,按照預序和中間序一步一步地繪制整個二叉樹并不困難。然后我們可以編寫后序遍歷序列。例如:已知二叉樹的前序遍歷序列為bc D E F H,中序遍歷序列為bd C E a H F,寫后序遍歷序列。根據(jù)預序,樹的根節(jié)點是a;根據(jù)中間序和根節(jié)點,B、D、C、e在根節(jié)點的左子樹上,h、f在根節(jié)點的右子樹上;然后逐級分析每個子樹,樹是a/╲B f/╲C、h/╲D,e是decbhfa
森林有中序和后序遍歷嗎?
前序遍歷:其思想是先遍歷當前節(jié)點,然后遍歷左子樹。然后遍歷右子樹。所以您需要記錄右子樹的根節(jié)點,并等待它被取出以遍歷右子樹。
如果堆棧不為空或節(jié)點指針不為空,則進入循環(huán)
如果當前節(jié)點不為空,則先將右側子節(jié)點放入堆棧(無論右側節(jié)點是否為空),然后輸出當前節(jié)點。賦值節(jié)點指針是左子節(jié)點。
如果當前節(jié)點為空。取出堆棧中的節(jié)點。
我懶得在后面寫。有時間就寫。
不建議業(yè)主問這種問題,但愿意回答的人不多。我想你可以問:哪里可以得到帶注釋的XXX源代碼