看板 Grad-ProbAsk 關於我們 聯絡資訊
線代總算突破Vector Space和線性映射的無字天書區, 來幫忙解個演算法qqqqqqqqqq 應該一定會有錯,所以請幫忙揪出錯誤! ※ 引述《starbury8 (馬不理不思議)》之銘言: : http://www.lib.ntu.edu.tw/exam/graduate/96/96412.pdf : 請問5,6要怎麼判斷?? : 我分別是寫D,C : 還有9,14題 : 以及11的(B)選項 : 謝謝!! 5. 我的想法是這樣的 假設c(n)表示fib(n)「包含其自己在內」,所有fib()的Function Call次數 則透過程式碼的觀察,我們可以得到 c(n) = c(n-1) + c(n-2) + 1 且c1 = 1, c2 = 1 是可以透過離散的遞迴公式去算,但這題是fib(10) 所以可以考慮硬爆結果,得到c(10) = 109(寫過程式了,應該沒錯) 另外請問一下解題的大家,「fib(10) 本身」到底算不算一次Recursive call? 我看了一下後面那題,應該是不算,所以是d沒錯吧? 6. 這樣先從執行的順序去考慮。考慮把這個遞迴畫成一張圖: 10 / \ 9 8 / \ 8 7 / \ 7 6 (省略...)/ / / \ 4 3 / \ 3 2 / \ 2 1 (樹不是Complete?沒錯,這是故意的,見下面說明) 10的左子樹9,右子樹8表示fib(10)會先呼叫fib(9)再呼叫fib(8),然後再return自己 於是我們可以把它執行的順序想像成是postorder的順序 所以最先執行到的會是最下面且最左邊的fib(2) 於是我們可以用postorder的順序去慢慢看這是怎麼一回事 fib(2)和fib(1)會先執行,同時他們的值會被記下,然後就換fib(3)了 fib(3)執行完換fib(2),但他的值已經被記得了,可以直接拿下來! 所以就不用重算一遍。於是跳到上一層的fib(4)繼續... 然後透過觀察,可以注意圖中右子樹的值在執行到之前都已經被記錄下來了 因此最後畫出來的圖就像圖上這樣,除了樹根以外有16個節點,選(c) 9. 我猜(b)(c)(e) 我的理論如下,不太肯定(e),歡迎糾正我: (a) X,size是root中所有後代的數量再加一(root自己也要算) (b) O,深度定義是到root的路徑長,x為y的後代,所以x會擁有較大的深度 (c) O,T包含S,S包含R,所以T會包含R吧?(爛講法) (d) X,不對:對一個n-元樹而言,Full指的是所有非葉子的節點都有n個兒子 題目給的是對Perfect tree的定義 (e) O,假設原來是一個高度為n的Complete tree 假如他Level n完全沒有右子樹的後代,那他的右子樹就是高n-2的Perfect tree 反之,他的右子樹就是高為n-1的Complete tree 這題是圖論問題 Orz,建議你趕快找本離散來看? 11. (b)我猜是True 考慮以下圖,應該會是Size最小的可能... ○ / \\\\ 高=1 ○ [d-1個節點] / 高=2 ○ ... / / ○ 高=h 樹根有最大的Degree d,因此樹的Degree是d 這樣的樹size是h+(d-1)+1,所以應該是True 14. (b)(d)(e),我對這題有點怕怕的,搞不好有很多陷阱... (a) X,根據不同Order的定義這題的答案會不一樣,但應該都是X 假若採用Knuth的定義,Order為2的B-tree就會是一顆Binary Tree 但考慮以下Order=2的B-Tree,其不為Full Binary Tree: 5 / 3 假若「Order是每個節點中最少需要的Key」 那這棵樹根本就不會是Binary Tree 我原來的解法把Degree和Order搞混了... Orz (b) O,Binary Search Tree的基本規則 (c) X,"trie"就是"prefix tree"(請找Huffman algorithm的介紹) 顯然不是一棵平衡樹 (d) O 2-3 Tree有平衡機制 (e) O 紅黑樹有平衡機制(還很難記! Q____Q) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.127.180.190
dy957:14.(a) order為2不是表示說key為0~1 指標為1~2嗎@@? 02/07 00:01
koehie:Order 2 的 B-Tree 不是 2-3-4 Tree 02/07 00:09
koehie:Order m = 2 可為分支度為 1 或 2 02/07 00:18
我把Order跟Degree徹底地搞混了........ Orz 我以為是Degree = 2,感謝 看了一下Wikipedia,Order竟然有三種定義,看樣子是Knuth(1993b)的定義比較主流? 試著更正了,再有錯請跟我說一下 ※ 編輯: ybite 來自: 122.127.180.190 (02/07 00:48)
starbury8:謝謝你 你的5 6 11 14都跟我寫的一樣XD 02/07 00:39
starbury8:讓我更相信應該是手邊的解答錯了XD 02/07 00:40
starbury8:不過離散和資結對於full的定義似乎不一樣? 02/07 00:41
starbury8:9(c)(d)還有一點疑慮 手邊的答案這兩個選項都沒有 02/07 00:41
starbury8:可以順便幫我看一下離散的18題嗎 上面幾篇 謝謝 02/07 00:44
dy957:B-tree應該terminal node都要在同一 level上吧,我覺得a 02/07 01:00
dy957:有可能是對的 02/07 01:00
ybite:我也覺得(a)真的很可疑... 02/07 01:23
cksh3300110:14題e選項 紅黑樹會平衡嗎 我可以造出不平衡的耶 02/07 01:52
cksh3300110:14題A選項是對的 可以在資料結構原文書上找到 02/07 01:53
koehie:14(a)雖然所有終端節點都會在同一 Level,但不一定每個都有 02/07 03:24
koehie:節點分支度都為 2 呀 02/07 03:24
koehie:14. bde 02/07 03:27
ybite:抱歉離散那題我不太會qqqq 02/07 10:25
koehie:上面我說錯了,正確是 All B-Tree of order 2 are FBT. 02/07 15:32
ybite:如果是True的話那我的反例是錯的嗎? Orz 我得想想 02/07 21:23
ken10311120:第五題我認為fib(2)的值不會被記得 因為他在return 1 02/03 15:07
ken10311120:時 就已經離開程式了 02/03 15:07
ken10311120:14(d)"2-3"樹不是blanced "binary" tree吧? 02/03 15:17
ken10311120:他可以有2~3個children(非root) 有看到此篇麻煩幫一下 02/03 15:18
sneak: 抱歉離散那題我不太會q https://daxiv.com 09/11 14:13