第1章 序曲
問題1.1 最長平臺(PLATEAU.C)
問題1.2 支配值數(shù)目(GT_COUNT.C)
問題1.3 等值數(shù)目(EQ_COUNT.C)
問題1.4 兩數(shù)組最短距離(MINDIST.C)
問題1.5 等值首尾和(HEADTAIL.C)
第2章 數(shù)字問題
問題2.1 Armstrong數(shù)(ARMS1.C,ARMS2.C)
問題2.2 數(shù)字謎(TRENTE.C)
問題2.3 求質數(shù)(PRIME1.C)
問題2.4 篩法(SIEVE.C)
問題2.5 線性篩法(L_SIEVE.C)
問題2.6 因子分解(FACTOR.C)
問題2.7 數(shù)值自乘遞歸解(R_POWER.C)
問題2.8 數(shù)值自乘非遞歸解(I_POWER.C)
問題2.9 Fibonacci數(shù)非遞歸解(FIB_IT.C)
問題2.1 0快速Fibonacci數(shù)算法(Fro.MT.C)
問題2.1 1擴充Fibonacci數(shù)(EX_FIB.C)
問題2.1 2二項式系數(shù)加法解(CNR_ADD.C)
問題2.1 3快速二項式系數(shù)算法(CNR_LOGc)
問題2.1 4快速階乘運算(FACTLOG2.C)
問題2.1 5更快的階乘算法(FACTLOGC)
問題2.1 6連續(xù)整數(shù)的固定和(GIVENSUM.C)
第10章 序曲
問題1.1 最長平臺(PLATEAU.C)
問題1.2 支配值數(shù)目(GT-COUNT.C)
問題1.3 等值數(shù)目(EQ COUNT.C)
問題1.4 兩數(shù)組最短距離(MINDIST.C)
問題1.5 等值首尾和(HEADTAIL.C)
第11章 數(shù)字問題
問題2.1 Armstrong數(shù)(ARMSl.C,ARMS2.C)
問題2.2 數(shù)字謎(TRENTE.C)
問題2.3 求質數(shù)(PRIME1.C)
問題2.4 篩法(SIEVE.C)
問題2.5 線性篩法(L_SIEVE.C)
問題2.6 因子分解(FACTOR.C)
問題2.7 數(shù)值自乘遞歸解(R_POWER.C)
問題2.8 數(shù)值自乘非遞歸解(I_POWER.C)
問題2.9 Fibonacci數(shù)非遞歸解(FIB_nC)
問題2.10 快速Fibonacci數(shù)算法(FIB_MT.C)
問題2.11 擴充Fibonacci數(shù)(EX_FIB.C)
問題2.12 二項式系數(shù)加法解(CNR_ADD.C)
問題2.13 快速二項式系數(shù)算法(CNR_LOGC)
問題2.14 快速階乘運算(FACTLOG2.C)
問題2.15 更快的階乘算法(FACTLOGC)
問題2.16 連續(xù)整數(shù)的固定和(GIVENSUM.C)
第3章 排列、組合與集合
問題3.1 列出所有子集(DIRECT.C)
問題3.2 列出所有子集——字典順序(LEXICAL.C)
問題3.3 產生Gray碼(GRAYCODE.C)
問題3.4 產生所有排列——旋轉法(PERMUT_R.C)
問題3.5 產生所有排列——字典順序(PERMU_LR.C)
問題3.6 所有K個元素的子集(KSUBSET.C)
問題3.7 集合的所有分割方式(SETPART.C)
問題3.8 整數(shù)的所有不同分割數(shù)目(INTPART#.C)
問題3.9 整數(shù)的分割方式(INTPART.C)
第4章 查找
問題4.1 尋找腳碼(ISEARCH.C)
問題4.2 尋找固定的和(FIXSUM.C)
問題4.3 無限式查找(INF_SRCH.C)
問題4.4 尋找極小值(CYCLEMIN.C)
問題4.5 兩個數(shù)組的中位數(shù)(MEDIAN2.C)
問題4.6 尋找中間值(B_SEARCH.C)
問題4.7 3個數(shù)組的共同元素(SEARCH3.C)
問題4.8 尋找最小與次小元素(1ST&2ND.C)
問題4.9 查找矩陣(M_SEARCH.C)
問題4.1 0表示成兩個數(shù)平方和(TWOSQUAR.C)
問題4.1 1最大方塊區(qū)域(MAXSQR.C,MAXSQR2.C)
第5章 排序
問題5.1 二分插入法(BINSERT.C)
問題5.2 Shell法(SHELL.C)
問題5.3 快速排列法(QSORT.C)
問題5.4 保持等值的原來順序(QSORT L.C)
問題5.5 非遞歸、無堆??焖倥帕蟹?QSORTj.C)
問題5.6 求中位數(shù)(MEDIANl.C)
第12章 排列、組合與集合.1 52
問題3.1 列出所有子集(DIRECT.C)
問題3.2 列出所有子集——字典順序(LEXICAL.C)
問題3.3 產生Gray碼(GRAYCODE.C)
問題3.4 產生所有排列——旋轉法(PERMUT R.C)
問題3.5 產生所有排列——字典順序(PERMU LR.C)
問題3.6 所有K個元素的子集(KSUBSET.C)
問題3.7 集合的所有分割方式(SETPART.C)
問題3.8 整數(shù)的所有不同分割數(shù)目(INTPART#.C)
問題3.9 整數(shù)的分割方式(INrPART.C)
第13章 查找
問題4.1 尋找腳碼(ISEARCH.C)
問題4.2 尋找固定的和(FIXSUM.C)
問題4.3 無限式查找(INF_SRCH.C)
問題4.4 尋找極小值(CYCLEMIN.C)
問題4.5 兩個數(shù)組的中位數(shù)(MEDIAN2.C)
問題4.6 尋找中間值(B_SEARCH.C)
問題4.7 3個數(shù)組的共同元素(SEARCH3.C)
問題4.8 尋找最小與次小元素(IST&2ND.C)
問題4.9 查找矩陣(M_SEARCH.C)
問題4.10 表示成兩個數(shù)平方和(TWOSQUAR.C)
問題4.11 最大方塊區(qū)域(MAXSQR.C,MAXSQR2.C)
第14章 排序
問題5.1 二分插入法(BINSERT.C)
問題5.2 Shell法(SHELL.C)
問題5.3 快速排列法(QSORT.C)
問題5.4 保持等值的原來順序(QSORT_L.C)
問題5.5 非遞歸、無堆棧快速排列法(QSORT_I.C)
問題5.6 求中位數(shù)(MEDIANl.C)
問題5.7 堆積法(HEAPSORT.C)
問題5.8 改良的堆積法(HEAP_NEW.C)
問題5.9 合并法(M_SORT.C)
問題5.10 桶子法(BUCKET.C)
問題5.11 單一重復元素排序(LOT_DUEC)
問題5.12 均勻重復元素排序(LOG DUEC)
問題5.13 堆積式合并(HEAPMERG.C)
問題5.14 檢查數(shù)組元素是否相異(UNIQuE.C)
問題5.15 數(shù)組中和為零的段落(ZEROSUM.C)
問題5.16 平面上的極大點(MAXSET.C)
問題5.17 宴會中訪問數(shù)目的極大值(MAXVISI~C)
問題5.18 包含在其他區(qū)間中的區(qū)間(CONTA.C)
第6章 字符串
問題6.1 括號匹配問題(PARCOUNT.C)
問題6.2 轉換成后繼式寫法(POLISH.C)
問題6.3 計算前置式寫法(PREFIX.C)
問題6.4 Knum.M0rris—Pran法尋找字符串(KMEC)
問題6.5 Boyer-Moore法尋找字符串(BM.C)
問題6.6 所謂的h一序列(RH_SEQ.C,H SEQ.C)
問題6.7 尋找部分序列(SUBSEQ.C)
問題6.8 最長重復部分序列(MAX_REPS.C)
問題6.9 最長共同部分序列(LCS.C)60
問題6.10 字符串編修(STREDIT.C)61
問題6.11 產生無連續(xù)重復部分的字符串(DISTSEQ.C)
第7章 其他問題
問題7.1 Buffon丟針問題(BUFFON.C)
問題7.2 三色旗問題(FLAGC)
問題7.3 字符串列整數(shù)的轉換(X_ATOI.C)
問題7.4 整數(shù)類型列的極值(LIMITS.C)
問題5.7 堆積法(HEAPSORT.C)
問題5.8 改良的堆積法(HEAP_NEW.C)
問題5.9 合并法(M SORT.C)
問題5.10 桶子法(BUCKET.C)
問題5.11 單一重復元素排序(LOT 13UEC)
問題5.12 均勻重復元素排序(LOG_DUP.C)
問題5.13 堆積式合并(HEAPMERGC)259
問題5.14 檢查數(shù)組元素是否相異(UNIQUE.C)
問題5.15 數(shù)組中和為零的段落(ZEROSUM.C)
問題5.16 平面上的極大點(MAXSET.C)
問題5.17 宴會中訪問數(shù)目的極大值(MAXVISIT.C)
問題5.18 包含在其他區(qū)間中的區(qū)間(CONTAIN.C)
第15章 T-符串
問題6.1 括號匹配問題(PARCOUNT.C)
問題6.2 轉換成后繼式寫法(POLISH.C)
問題6.3 計算前置式寫法(PREFIX.C)
問題6.4 Knuth-Morris-Pratt法尋找字符串(KMP.C)
問題6.5 Boyer-Moore法尋找字符串(BM.C)
問題6.6 所謂的h一序列(RH—SEQ.C,H—SEQ.C)
問題6.7 尋找部分序列(SUBSEQ.C)
問題6.8 最長重復部分序列(MAX_REPS.C)
問題6.9 最長共同部分序列(LCS.C)
問題6.10 字符串編修(STREDIT.C)
問題6.11 產生無連續(xù)重復部分的字符串(DISTSEQ.C)
第16章 其他問題
問題7.1 Buffon丟針問題(BUFFON.C)
問題7.2 三色旗問題(FLAGC)
問題7.3 字符串列整數(shù)的轉換(X_ATOIc)
問題7.4 整數(shù)類型列的極值(LIMITS.C)
問題7.5 無限位數(shù)算術(ARITH.C)
問題7.6 線性表示的矩陣相乘(MATMUL.C)
問題7.7 對稱表示的矩陣相乘(MATMUL_S.C)
問題7.8 找零錢問題(CHANGE.C)
問題7.9 背包問題(KNAPSACK.C)
問題7.10 最佳矩陣相乘順序(PRODSEQ.C)
問題7.11 最短路徑問題(SHORTEST.C)
問題7.12 產生匹配括號的字符串(PAR_GEN.C)
問題7.13 穩(wěn)定伴侶問題(STABLE.C)
問題7.14 單調矩陣的極值(MONO_MAX.C)
問題7.15 向量分類(CLASSIFY.C)
第8章 游戲問題
問題8.1 奇數(shù)階魔方陣(MAGIC_O.C)
問題8.2 單偶數(shù)階魔方陣(MAGIC_SE.C)
問題8.3 雙偶數(shù)階魔方陣(MAGIC—D E_C)
問題8.4 N后問題公式解(N_QUEENl.C)
問題8.5 N后問題遞歸解(N_QUEENR.C)
問題8.6 武士巡邏(KNIGHT.C)
問題8.7 環(huán)游世界(HAMILTON.C)
問題8.8 一筆畫(EULER.C)
問題8.9 非遞歸河內之塔(HANOLI.C)
問題8.10 生命游戲(LIFE.C)
第9章 終曲
問題9.1 等量正負號段落(BALANCE.C)
問題9.2 尋找長方形(RECT.C)
問題9.3 多邊形的直徑(DIAMETER.C)
問題9.4 機器人旋轉角度(TURNS.C)
問題9.5 最大涵蓋距離(MAXCOVER.C)
問題9.6 最大連續(xù)元素和(MAXSUM.C,MAXSUMl.C)
問題9.7 最大連續(xù)元素積(MAXPROD.C)
問題7.5 無限位數(shù)算術(ARlTH.C)
問題7.6 線性表示的矩陣相乘(MATMUL.C)
問題7.7 對稱表示的矩陣相乘(MATMULS.C)
問題7.8 找零錢問題(CHANGE.C)
問題7.9 背包問題(KNAPSACK.C)
問題7.10 最佳矩陣相乘順序(PRODSEQ.C)
問題7.11 最短路徑問題(SHORTEST.C)
問題7.12 產生匹配括號的字符串(PAR—GEN.C)
問題7.13 穩(wěn)定伴侶問題(STABLE.C)
問題7.14 單調矩陣的極值(MONO_MAX.C)
問題7.15 向量分類(CLASSIFY.C)
第17章 游戲問題
問題8.1 奇數(shù)階魔方陣(MAGIC_O.C)
問題8.2 單偶數(shù)階魔方陣(MAGIC_SE.C)
問題8.3 雙偶數(shù)階魔方陣(MAGIC_DE.C)
問題8.4 N后問題公式解(N_QUEENl.C)
問題8.5 N后問題遞歸解(N_QUEENR.C)
問題8.6 武士巡邏(KNIGHT.C)
問題8.7 環(huán)游世界(HAMILTON.C)
問題8.8 一筆畫(EULER.C)
問題8.9 非遞歸河內之塔(HANOUC)
問題8.10 生命游戲(LIFE.C)
第18章 終曲
問題9.1 等量正負號段落(BALANCE.C)
問題9.2 尋找長方形(RECT.C)
問題9.3 多邊形的直徑(DIAMETER.C)
問題9.4 機器人旋轉角度(TURNS.C)
問題9.5 最大涵蓋距離(MAXCOVER.C)
問題9.6 最大連續(xù)元素和(MAXSUM.C,MAXSUMl.C)
問題9.7 最大連續(xù)元素積(MAXPROD.C)
問題9.8 尋找名人(SINK.C)
問題9.9 投票問題(VOTINGC)
問題9.10 尋找1對1函數(shù)(1T01.C)
問題9.11 尋找支配元素(DOMINATR.C)
問題9.12 最長遞增部分序列(LIS.C)
參考文獻