2011-01-31

前人種樹, 後人.........種樹

Q1. 97中山電機



老師的解答為2^(i+j-1)
我的疑問是另個node不一定在另一邊子樹, 因為跑到root不是有可能折返跑回同一子樹嗎?
若root在level0, 那level2到level2, 應該是2^2*2^2, 一般化是2^(i+j)
若root在level1, 那level2到level2, 應該是2*2, 一般化是2^(i+j-2)



Q2. 97台中教大


leaves個數是否應為3^5?


Q3. 93交大資科













請問第4題的B小題為什麼是戊呢?


Q4. 94成大電機










這題L1應該是9, L2應該是1嗎?


Q5. 94師大資教


















請問這題不是應該是 3!*3!, 是不是為無解@@?



謝謝助教~

4 則留言:

  1. 作者已經移除這則留言。

    回覆刪除
  2. 1.
    你折返跑就不符合path的定義了吧

    繞到另一子樹 折返跑
    八 人

    至少root(lv0)到lv 1之左(右)子樹有一部分重疊

    回覆刪除
  3. Lulu:
    我看清楚定義了,不能包含重覆點..那問題就變成老師的公式
    若root在level0, 那level2到level2, 應該是2*2, 一般化是2^(i+j-2)
    若root在level1, 那level2到level2, 應該是1*1, 一般化是2^(i+j-4)
    這樣了...還是跟老師不一樣@@

    回覆刪除
  4. 1. 離散裡定義一個點 v 的 level 在正常情況下都和書上定義的一樣, 也就是由 root 到 v 的距離, 這裡取的 level i 的點與 level j 上的點不能落在 root 底下的同一個 subtree, 否則就會有重複, 因為 level i 的點有 2^i 種選擇, level j 的點有 2^j/2 種選擇, 所以總共就是 2^(i+j-1)

    2. 是的

    3. Heapsort這個在你資料結構那一科的筆記裡應該有, 先建max heap然後每一次刪一個max元素再做max heap的調整, 他問哪一個pattern不會出現在做heapsort時maintain的那個陣列裡, 你實際做一遍就會發現甲乙丙丁這四種依序都有出現過

    4. 是的

    5. 是的

    回覆刪除