程式設計藝術學習筆記(1)

2021-08-19 03:50:50 字數 644 閱讀 5732

序言習題

(1).通過一系列的替代,將四個變數的值(a,b,c,d)變為(b,c,d,a),用最少的步驟

開門菜,然而還是有很多值得思考的地方。能幫助人理解計算機對於賦值的操作。通過觀察,可以認為這是乙個a[i]賦值給a[i-1]的操作。最少的步驟,只需要五步即可。需要乙個t來作輔助,t=a,a=b,b=c,c=d,d=t即可

(2).證明歐幾里得演算法的第一步,m<=n 僅在頭一次執行的時候可能出現

歐幾里得演算法是計算兩個數m和n的最大公約數的演算法。考慮兩種情況,若m>n,則第一次執行後有m = pn+r,若r不等於0,則m=n,n=r,因為r < n,所以往後都不會出現m<=n的情況。若一開始m<=n,則除開等於情況,第一次有m = 0 * n +m(因為m < n),然後 m =n ,n=m,變成 n除以m的情況,回到第一種情況的條件。證畢。

(3).改進歐幾里得演算法,使得m=n這種平凡的語句得到避免

恕我愚鈍,只能想到開闢陣列空間來避免賦值語句的辦法

f1:開闢乙個大小為n+2的陣列

f2:i = 0 a[i]=m,a[i+1]=n

f3:a[i+2] = a[i]%a[i+1] ,if a[i+2] != 0

f4:i=i+1, go to f3

f5: return a[i+2]

《Oracle程式設計藝術》學習筆記 23 段

段就是占用儲存空間的資料庫物件,占用儲存空間的每乙個物件最後都會儲存在乙個段中,如表 索引 回滾段等。段的型別 1 表段 2 表分割槽段 table partition 或子分割槽段 subpartition 這種段型別用於分割槽,與表段很相似。分割槽表由乙個或多個分割槽段 table partit...

《Oracle程式設計藝術》學習筆記 23 段

段就是占用儲存空間的資料庫物件,占用儲存空間的每乙個物件最後都會儲存在乙個段中,如表 索引 回滾段等。段的型別 1 表段 2 表分割槽段 table partition 或子分割槽段 subpartition 這種段型別用於分割槽,與表段很相似。分割槽表由乙個或多個分割槽段 table partit...

《計算機程式設計藝術》學習筆記(一)

一,mix 儘管knuth 對於mix 不満,在第 3版和他本人的主頁上宣告即將更換為 mmix 但對於初學者如我而言,結全本書先學學 mix似乎更為方便,為了學習 tacop 後面的內容,了解一下 mix看來是必須的步驟。命令格式一般為 op address,i f op為命令關鍵字,addres...