15.3-4
分析:
capulet教授的觀點實質是是在求解乙個方案,該方案能使得每個新增的括號處的p[i-1]*p[k]*p[j]數乘次數的和最小。而矩陣鏈乘實質上求解的是乙個方案,該方案能使整體的數乘次數的和最小。所以capulet教授的觀點不能總是得到最優解
答案:
反例:矩陣a1;a2;a3的規模分別是10 * 20;20 * 30;30 * 40;
(1)按照p[i-1]*p[k]*p[j]最小來定位k的位置,則最終的方案為:a1 *(a2 * a3)
此時p[i-1]*p[k]*p[j]=10 * 20 * 40=8000
此時總的數乘次數為:20 * 30 * 40 + 10 * 20 * 40 = 32000
(2)而最優解的方案為:(a1 * a2 )* a3
此時p[i-1]*p[k]*p[j]=10 * 30 * 40=12000
此時總的數乘次數為:10 * 20 * 30 + 10 * 30 * 40 = 18000
綜上,capulet教授的方法不能總是得到最優解
演算法導論第三版 10 1 6習題答案
10.1 6 答案 設定兩個棧為s1和s2,那麼s1用來enqueue s2用來dequeue 當然s1需要用來為dequeue 操作作過渡,流程如下 1 首先將入隊元素1,2,3依次放進棧s1。此時s1元素從低到高為1,2,3,s2中暫時無元素。2 然後依次將1,2,3從s1中彈出並且放入s2中。...
演算法導論第三版習題5 2
正好僱傭一次說明第一次僱傭的就是所有應聘者中最好的,所以概率為1n 正好僱傭 n 次說明所有應聘者按優秀從低到高依次出現,第一位是最差的,概率為1n 第二位其次,概率為1n 1,所以整體概率為1n 正好僱傭兩次,說明第乙個應聘者不是最好的,概率為n 1n,第二個應聘者是最好的,概率為1n 1,所以概...
演算法導論第三版習題5 3
在進入迴圈前,先將在整個陣列中隨機選擇乙個數至於a 1 即可 permute in place a 1 n a.length 2 swap a 1 with a random 1,n 3 for i 2 to n 4 swap a i with a random i,n 第二步其概率為1n 後面一樣...