演算法導論第三版 15 3 4習題答案

2021-09-29 23:39:46 字數 570 閱讀 4928

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 後面一樣...