關於混亂高度假設我的樹是這個樣子二叉樹
5
/\
1 8
/\
6 9
我寫了一個程序來找到這個高度。
65 int height(const TNODE* root) {
66 if (root == NULL) {
67 return 0;
68 } else {
69 int lDepth = height(root->left);
70 int rDepth = height(root->right);
71 if (lDepth > rDepth) {
72 return (lDepth + 1);
73 } else {
74 return (rDepth + 1);
75 }
76
77 }
78 }
運行此方法會爲上面的樹打印3。但是高度不應該是2,因爲那是從根到最遠葉子的邊緣數量?我在網上搜索,我得到了矛盾的信息。有人會說我上面的樹高3,而其他人說2。
那麼我的樹上面應該有多高,爲什麼?
我的方法正確嗎?
這顯然取決於您的應用程序。根據您的申請選擇符合您的期望的產品。 – sfrehse 2014-10-30 20:07:35
究竟是什麼問題? – igon 2014-10-30 20:08:41
@igon我已經添加了一些說明。 – mrQWERTY 2014-10-30 20:09:52