在嚴蔚敏的《資料結構》一書中,所使用的**存在一些小問題。原版**就不附上了,主要問題是:
1.inthreading函式的引數,應該攜帶pre,這應該是比較嚴重的問題。如果沒有攜帶pre,則對pre的修改只是在呼叫的函式中的區域性變數的值的修改,沒有影響到原來的pre的值。
2.在條件語句中,將命中概率高的語句放在前面,會提高**效率。但嚴的演算法中在inorderthreading演算法中,將t為null時放在了前面。
3.inorderthreading中,只有t為null時,執行thrt->rchild = thrt才有意義。而在t不為null時,要執行thrt->rchild = pre,即使開始執行了thrt->rchild = thrt,也會被覆蓋掉,所以把thrt->rchild = thrt句移到了else分句中。
歡迎討論、批評與指正!
alex zhong
(C )二叉樹的線索化 線索二叉樹
線索化標誌tag enum pointertag 結點結構 template struct binarytreenodethd 基類迭代器 template struct binarytreeiterator t operator t operator bool operator const sel...
線索化二叉樹以及遍歷線索化二叉樹
1.線索二叉樹基本介紹 n個結點的二叉鍊錶中含有n 1 公式 2n n 1 n 1 個空指標域。利用二叉鍊錶中的空指標域,存放指向該結點在某種遍歷次序下的前驅和後繼結點的指標 這種附加的指標稱為 線索 這種加上了線索的二叉鍊錶稱為線索鍊錶,相應的二叉樹稱為線索二叉樹 threaded binaryt...
線索化二叉樹
define crt secure no warnings 1 includeusing namespace std enum pointertag 列舉 其結構如下 void prevorderthreading 前序 void postorderthreading 後序 void inorder...