Re: [理工] [資結]-交大97-資訊聯招

看板Grad-ProbAsk作者 (殤丞)時間15年前 (2011/02/11 13:44), 編輯推噓0(0018)
留言18則, 4人參與, 最新討論串2/2 (看更多)
還有幾個問題想問一下 3. (2) 我的答案是這樣 bool check(node *root) { if(root == NULL) return true; if(root->left == NULL) return true; if(root->value > root->left->value) return false; if(root->right == NULL) return true; if(root->value > root->right->value) return false; return check(root->left) && check(root->right); } 不知道這樣正不正確 4. (7) 爬文之後 還是搞不懂題目中的 weight-balance condition 到底是什麼意思 感謝幫忙 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.121.101

02/11 13:59, , 1F
3(2):很顯然不對。return不是這樣用的。
02/11 13:59, 1F

02/11 14:00, , 2F
4(7): 我對這題充滿問號。
02/11 14:00, 2F

02/11 14:05, , 3F
更正一下一樓的講法:Root 6 左空 右9的情況下會出錯。
02/11 14:05, 3F

02/11 14:06, , 4F
...等等,搞懂了,錯不在這邊。
02/11 14:06, 4F

02/11 14:33, , 5F
02/11 14:33, 5F

02/11 14:34, , 6F
希望是對的,歡迎挑錯。
02/11 14:34, 6F

02/11 15:43, , 7F
樓上的code leftHeight 值傳回來一直都0耶...
02/11 15:43, 7F

02/11 15:49, , 8F
果然有錯 XDDDDDD 最後Return時應該要加一 囧 請重整頁面
02/11 15:49, 8F

02/11 16:00, , 9F
所以我的方法錯在忘記要確定BT是complete
02/11 16:00, 9F

02/11 16:01, , 10F
但要確定BT是complete不只要左右子樹高度相同或差1吧?
02/11 16:01, 10F

02/11 16:03, , 11F
樓上說對了XD
02/11 16:03, 11F
例: ○ /\ ○ ○ / / ○ ○ ※ 編輯: feather585 來自: 140.113.121.101 (02/11 16:04)

02/11 16:07, , 12F
好反例! Q_______Q 有什麼解決方法嗎?
02/11 16:07, 12F

02/11 16:13, , 13F
一個直覺想到的方法是把所有對Height的檢查都拿掉
02/11 16:13, 13F

02/11 16:13, , 14F
然後依序把樹中擁有同樣Depth節點的數字記錄下來
02/11 16:13, 14F

02/11 16:14, , 15F
如果1,2,...,n-1 Depth中有有數量不到1,2,...2^(n-2)者就錯
02/11 16:14, 15F

02/11 16:33, , 16F
我覺得沒有指向sibling的pointer
02/11 16:33, 16F

02/11 16:34, , 17F
要寫出確定complete的程式好像蠻困難的
02/11 16:34, 17F

09/11 14:14, , 18F
但要確定BT是comp https://daxiv.com
09/11 14:14, 18F
文章代碼(AID): #1DLConI5 (Grad-ProbAsk)
文章代碼(AID): #1DLConI5 (Grad-ProbAsk)