CSAPP 第三版3 70習題答案

2021-10-21 04:09:08 字數 706 閱讀 5215

union 聯合體知識:所有成員共用記憶體互相影響目的是節省記憶體

union data

|__| n 4b

e1 和 e2 共享記憶體,所以答案為0 8 0 8逐條分析彙編指令

mov 8

(%rdi)

,%rax // rax = up->e2.next

mov (

%rax)

,%rdx // rdx = up->e2.next->e1.p

mov (

%rdx)

,%rdx // rdx = *(up->e2.next->e1.p)

subq 8

(%rax)

,%rdx // rdx -= up->e2.next->e1.y

mov %rdx,

(%rdi)

// up->e2.x = *(up->e2.next->e1.p) - up->e2.next->e1.y

易錯:(%rax) 表示rax存放的是記憶體位址-指標(%rax) = *(rax) = m[rax]一次間接定址-指標解引用

union參考鏈結

習題參考鏈結1

習題參考鏈結2

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

15.3 4 分析 capulet教授的觀點實質是是在求解乙個方案,該方案能使得每個新增的括號處的p i 1 p k p j 數乘次數的和最小。而矩陣鏈乘實質上求解的是乙個方案,該方案能使整體的數乘次數的和最小。所以capulet教授的觀點不能總是得到最優解 答案 反例 矩陣a1 a2 a3的規模分...

演算法導論第三版 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,所以概...