寫一下我的思路,大概是對的,詳細證明不出來。
設藍色水壺為a,紅色為b
先取乙個a1,對所有的b做一次比較,可以將b分為兩個部分,一部分大於a1,一部分小於a1
再取乙個a2,將b分為三個部分
再取a3,將b分為四個部分
假設現在b被分成了k個部分,b1,b2,b3......bk,
每次取ai,都從b集合的一半處開始比較,比如第一次從k/2處開始
如果小於該部分所有元素,則向前移動,從k/4處開始
如果大於該部分所有元素,則向後移動,從3k/4處開始
最後找到相等的水壺,將該部分分成兩塊,b被分成k+1個部分
最壞情況,每次都找到b裡面最小或者最大的水壺,那只能是θ(n2)了
演算法導論 思考題 4 3
a.利用主方法可得,t n n的log3 4次方 b.n f n lgn,不能應用主方法 共log3 n 1層,每層代價n lg n 3 的i次方 最後一層共n個 1 的結點,代價為 n t n n lg n 3 的i次方 n n lgn n n log3 2 n o n 又因為t n 最後一層代價...
演算法導論 思考題 4 5
這題實在沒什麼思路,網上找了一下答案。如果一開始就能夠確定好的晶元多於壞的,則可以保證每輪檢測結束好的晶元都多於壞的,一直到最後如果剩2塊晶元,則兩塊肯定都是好的 剩3塊晶元就再檢測一次,如果結果都是好的,就隨意取一片必定是好的 如果結果都是壞的,則剩下的那塊肯定是好的。來證明一下上面的結論 設有x...
演算法導論 思考題15 7 解碼演算法
先解釋一下問題,解碼存在乙個困難為同乙個字可能被譯為它的同音字,比如語音輸入 我的手 的 可能對應於 的地得 需要結合語境判斷。ps.我看有些答案說這是 viterbi 演算法,可以自行了解。問題a,解法是乙個帶備忘錄的動態規劃 過程類似於深度遍歷 偽 如下 input v 圖的節點列表 sigma...