# 交大 106 軟體
###### tags: `NCTU` `106` `軟體`
1. f(4)=1,f(5)=2,f(6)=3,f(7)=-1,f(8)=1
:::info
題目給的函數定義有點問題就是了,不過看得出來是想考 KMP
:::
2. (a) +A/*B-CDE (b) ABCD-*E/+ \(c\) 6
3. 3 2 7 8
4. (a) min heap is a binary tree which the child of the node in the heap is less than the node itself. (b)
```
6
/ \
8 10
/ \ /
9 18 15
```
5.
```
B
/ \
A C
/ \
D E
/
F
```
6. (a) 12, 2, 7 (b) 3 \(c\) 0,9
7. (a)
```
30
/ \
15 40
/ \ \
10 20 50
```
(b)
```
30
/ \
20 50
/ / \
10 40 60
```
\(c\)
```
3(B)
/ \
1(B) 5(B)
\ / \
2(R) 4(R) 6(R)
```
8. (a) 215 (b)
```
5
/ \
3 7
/ \ / \
1|2 4 6 9
```
9. (a) Y (b) N \(c\) Y (d) Y
10. 楓業本裡有更詳細的解說。幾個重點:
- 關鍵在比較的次數
- 距離為 k 的兩個元素,兩者有發生比較的機率為 $\frac{2}{k+1}$
像是距離為 1、也就是兩兩相鄰元素,兩者有比較的機率為 $\frac{2}{1+1}=1$,也就是說不管如何一定都會比較到
比較次數的期望值為:$\sum_{k=1}^{n-1}(n-k)\frac{2}{k+1}\le n\sum\frac{2}{k+1}\le nlgn$
11.
step 1. choose the shortest two list $L_i, L_j$
step 2. merge $L_i$ and $L_j$ into $L_k$
step 3. add $L_k$ into the list set
step 4. if the set has only one list then it's done. Otherwise go back to step 1.
:::info
類似霍夫曼編碼
:::
12. (S1) T (S2) F(S3) F
:::info
2-SAT 可以利用強連通圖解決
:::
13. $O(n^{lg_23})$
14. 如果 $(v_i,v_{i+1})$ 屬於某個 minimum spanning tree,則在環上必存在一個邊 $(v_a,v_b)$,把它拿去替換掉 $(v_i,v_{i+1})$,必為 spanning tree,且 weight 更小,與假設矛盾。因此 $(v_i,v_{i+1})$ 必不屬於任何 MST
15. 先選紅的,再選藍的
16. A,C,E,B,D | (A,B,C,D,E)=(0,7,3,9,5)