27線索二叉樹的遍歷

2021-10-16 09:59:51 字數 331 閱讀 9629

線索二叉樹的遍歷:中序化二叉樹主要是為訪問運算服務的,這裡遍歷不需要借助棧,因為它的結點中隱含了線索二叉樹的前驅和後繼資訊。利用線索二叉樹,可以實現二叉樹遍歷的非遞迴演算法。描述**如下:

1、 求中序線索二叉樹中序序列下的第乙個結點

threadnode *firstnode(threadnode *p)

2、 求中序線索二叉樹中結點p在中序序列下的後繼結點

threadnode *nextnode(threadnode *p)

3、 利用上面兩個演算法,可以寫出不含頭結點的中序線索二叉樹的中序遍歷演算法:

void inorder(threadnode *t)

線索二叉樹遍歷

1.對二叉樹線索化之後,若結點沒有右子樹,則右子樹指向遍歷後繼結點 若沒有左子樹,則左子樹指向遍歷前驅結點。2.對線索二叉樹進行遍歷,即不斷找結點的後繼。若右指標直接指向了後繼,那直接就有了 結點右指標沒有指向後繼,即有右子節點,那就通過常規方法找到後繼。如後序線索樹後繼不好找,需要棧才能進行遍歷。...

線索化二叉樹以及遍歷線索化二叉樹

1.線索二叉樹基本介紹 n個結點的二叉鍊錶中含有n 1 公式 2n n 1 n 1 個空指標域。利用二叉鍊錶中的空指標域,存放指向該結點在某種遍歷次序下的前驅和後繼結點的指標 這種附加的指標稱為 線索 這種加上了線索的二叉鍊錶稱為線索鍊錶,相應的二叉樹稱為線索二叉樹 threaded binaryt...

二叉樹的遍歷和線索二叉樹

二叉樹的遍歷,所謂二叉樹的遍歷,是指按某條搜尋路徑訪問樹中的每個結點,使得每個結點均被訪問一次,而且僅被訪問一次。由二叉樹的遞迴定義可知,遍歷一棵二叉樹便要決定對根結點n,左子樹l和右子樹r的訪問順序。按照先遍歷再遍歷右子樹的原則,常見的遍歷次序有先,中,後三種遍歷方法,其中序指的是根結點再何時被訪...