銷毀二叉樹(shù)的算法 求一個(gè)二叉樹(shù)的后序遍歷非遞歸算法?
求一個(gè)二叉樹(shù)的后序遍歷非遞歸算法?此主題為p=t while(1){if(p->rchild)//如果有右子級(jí),則右子級(jí)必須在序列中的當(dāng)前節(jié)點(diǎn)之后(如果有另一個(gè)左子級(jí),則右子級(jí)也在整個(gè)左子樹(shù)之后)
求一個(gè)二叉樹(shù)的后序遍歷非遞歸算法?
此主題為p=t while(1){if(p->rchild)//如果有右子級(jí),則右子級(jí)必須在序列中的當(dāng)前節(jié)點(diǎn)之后(如果有另一個(gè)左子級(jí),則右子級(jí)也在整個(gè)左子樹(shù)之后)p=p->rchild else if(p->lchild)//如果沒(méi)有右子級(jí),但有左子級(jí),左子級(jí)必須在序列P=P->lchild中的當(dāng)前節(jié)點(diǎn)之后如果您說(shuō)您已經(jīng)實(shí)現(xiàn)了預(yù)排序二叉樹(shù)生成,您可以使用非純預(yù)排序序列(例如,該序列包含遇到的所有空節(jié)點(diǎn)記錄),也可以使用二叉樹(shù)的其他信息。這三個(gè)遍歷序列中只有一個(gè)已知,因此不可能確定二叉樹(shù)。根據(jù)“中間順序第一順序”或“中間順序后順序”,可以確定二叉樹(shù)。該方法首先確定樹(shù)的根,然后確定兩個(gè)子樹(shù)對(duì)應(yīng)的兩個(gè)遍歷序列,然后遞歸求解。-----“先排序后排序”不起作用,因?yàn)闊o(wú)法區(qū)分左子樹(shù)和右子樹(shù)。