二叉樹先序遍歷的非遞歸算法具體實(shí)現(xiàn)?
前序遍歷,先根,再左,再右;中序遍歷,先左,再根,再右。
前序遍歷序列的第一個(gè)節(jié)點(diǎn)是根節(jié)點(diǎn),記做A,中序遍歷中,A之前的是根節(jié)點(diǎn)的左子樹,A之后的是根節(jié)點(diǎn)的右子樹。
找出左右子樹在前序和中序中的子序列,遞歸下去即可唯一重構(gòu)二叉樹結(jié)構(gòu),也就確定了后續(xù)遍歷的順序。
參考
Construct Tree from given Inorder and Preorder traversals - GeeksforGeeks