1. 問題描述:
假設二叉樹採用二叉鍊錶儲存結構,設計乙個演算法,求出二叉樹b中值為x的的節點的編號
2. 思路分析:
① 這道題目可以使用層次遍歷的方法來解決,但是使用這種方法解決的話可能有點麻煩因為所有節點的層數是不知道的,這裡採用另外一種方法來解決
② 對於題目中要求給出值為x所在節點的層號,這裡就包含著乙個查詢的操作,即要在二叉樹中找到這個節點,因為需要遍歷二叉樹,當我們遍歷到乙個節點的時候計算出層號,可以宣告乙個全域性變數level來記錄當前狀態下的層數,當我們往下進行遞迴的時候層數應該加1,當返回來的時候層數應該減1,所以這樣就解決了這個問題
3. 具體的**如下:
public class main
private static void preorder(treenodenode, int value)
level++;
preorder(node.left, value);
preorder(node.right, value);
level--;
} public static class treenode
}}
列印二叉樹節點
從上往下列印出二叉樹的每個節點,同層節點從左至右列印。條件反射地想通過遞迴解決,結果硬是沒有找到合適的解決思路,也許遞迴的方式不是很適合這種型別的題目吧 利用佇列的先進先出 fifo 特性解決。每從佇列頭部獲取乙個節點,就將該節點的左右子節點存入佇列的尾部。如此往復,直至隊列為空。這篇部落格內的和 ...
二叉樹 節點分析
通過問題了解 問題一 某二叉樹中度為2的結點有18個,則該二叉樹中有 性質1 二叉樹的終端結點 葉子結點 數等於雙分支結點數加1.假設二叉樹中終端結點數為n0,單分支結點數為n1,雙分支結點數為n2,二叉樹中總結點數為n,因為二叉樹中所有結點度數均小於或等於2,所以有 n n0 n1 n2 另一方面...
二叉樹節點的刪除
昨天在看書的時候,突然看到二叉查詢樹的刪除,以前學過,不過學的不仔細,結果研究了一晚上,才把二叉樹的刪除操作給整出來。唉,以後看書要仔細啊。先說一下如何刪除二叉樹查詢樹的節點吧。總共有三種情況 1.被刪除的節點是葉子節點,這時候只要把這個節點刪除,再把指向這個節點的父節點指標置為空就行 2.被刪除的...