更多免费精华资源
C语言名题精选百则技巧篇
封面
书名
版权
序
前言
目录
第一部分 问题
第1章 序曲
问题1.1 最长平台(PLATEAU.C)
问题1.2 支配值数目(GT_COUNT.C)
问题1.3 等值数目(EQ_COUNT.C)
问题1.4 两数组最短距离(MINDIST.C)
问题1.5 等值首尾和(HEADTAIL.C)
第2章 数字问题
问题2.1 Armstrong数(ARMS1.C,ARMS2.C)
问题2.2 数字谜(TRENTE.C)
问题2.3 求质数(PRIME1.C)
问题2.4 筛法(SIEVE.C)
问题2.5 线性筛法(L_SIEVE.C)
问题2.6 因子分解(FACTOR.C)
问题2.7 数值自乘递归解(R_POWER.C)
问题2.8 数值自乘非递归解(I_POWER.C)
问题2.9 Fibonacci数非递归解(FIB_IT.C)
问题2.10 快速Fibonacci数算法(FIB_MT.C)
问题2.11 扩充Fibonacci数(EX_FIB.C)
问题2.12 二项式系数加法解(CNR_ADD.C)
问题2.13 快速二项式系数算法(CNR_LOG.C)
问题2.14 快速阶乘运算(FACTLOG2.C)
问题2.15 更快的阶乘算法(FACTLOG.C)
问题2.16 连续整数的固定和(GIVENSUM.C)
第二部分 解答
第10章 序曲
问题1.1 最长平台(PLATEAU.C)
问题1.2 支配值数目(GT_COUNT.C)
问题1.3 等值数目(EQ_COUNT.C)
问题1.4 两数组最短距离(MINDIST.C)
问题1.5 等值首尾和(HEADTAIL.C)
第11章 数字问题
问题2.1 Armstrong数(ARMS1.C,ARMS2.C)
问题2.2 数字谜(TRENTE.C)
问题2.3 求质数(PRIME1.C)
问题2.4 筛法(SIEVE.C)
问题2.5 线性筛法(L_SIEVE.C)
问题2.6 因子分解(FACTOR.C)
问题2.7 数值自乘递归解(R_POWER.C)
问题2.8 数值自乘非递归解(I_POWER.C)
问题2.9 Fibonacci数非递归解(FIB_IT.C)
问题2.10 快速Fibonacci数算法(FIB_MT.C)
问题2.11 扩充Fibonacci数(EX_FIB.C)
问题2.12 二项式系数加法解(CNR_ADD.C)
问题2.13 快速二项式系数算法(CNR_LOG.C)
问题2.14 快速阶乘运算(FACTLOG2.C)
问题2.15 更快的阶乘算法(FACTLOG.C)
问题2.16 连续整数的固定和(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 整数的所有不同分割数目(INTPART#.C)
问题3.9 整数的分割方式(INTPART.C)
第4章 查找
问题4.1 寻找脚码(ISEARCH.C)
问题4.2 寻找固定的和(FIXSUM.C)
问题4.3 无限式查找(INF_SRCH.C)
问题4.4 寻找极小值(CYCLEMIN.C)
问题4.5 两个数组的中位数(MEDIAN2.C)
问题4.6 寻找中间值(B_SEARCH.C)
问题4.7 3个数组的共同元素(SEARCH3.C)
问题4.8 寻找最小与次小元素(1ST&2ND.C)
问题4.9 查找矩阵(M_SEARCH.C)
问题4.10 表示成两个数平方和(TWOSQUAR.C)
问题4.11 最大方块区域(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 非递归、无堆栈快速排列法(QSORT_I.C)
问题5.6 求中位数(MEDIAN1.C)
第12章 排列、组合与集合
问题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 集合的所有分割方式(SETPARTC)
问题3.8 整数的所有不同分割数目(INTPART#.C)
问题3.9 整数的分割方式(INTPART.C)
第13章 查找
问题4.1 寻找脚码(ISEARCH.C)
问题4.2 寻找固定的和(FIXSUM.C)
问题4.3 无限式查找(INF_SRCH.C)
问题4.4 寻找极小值(CYCLEMIN.C)
问题4.5 两个数组的中位数(MEDIAN2.C)
问题4.6 寻找中间值(B_SEARCH.C)
问题4.7 3个数组的共同元素(SEARCH3.C)
问题4.8 寻找最小与次小元素(IST&2ND.C)
问题4.9 查找矩阵(M_SEARCH.C)
问题4.10 表示成两个数平方和(TWOSQUAR.C)
问题4.11 最大方块区域(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 求中位数(MEDIAN1.C)
问题5.7 堆积法(HEAPSORT.C)
问题5.8 改良的堆积法(HEAP_NEW.C)
问题5.9 合并法(M_SORT.C)
问题5.10 桶子法(BUCKET.C)
问题5.11 单一重复元素排序(LOT_DUP.C)
问题5.12 均匀重复元素排序(LOG_DUP.C)
问题5.13 堆积式合并(HEAPMERG.C)
问题5.14 检查数组元素是否相异(UNIQUE.C)
问题5.15 数组中和为零的段落(ZEROSUM.C)
问题5.16 平面上的极大点(MAXSET.C)
问题5.17 宴会中访问数目的极大值(MAXVISIT.C)
问题5.18 包含在其他区间中的区间(CONTAIN.C)
第6章 字符串
问题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 产生无连续重复部分的字符串(DISTSEQ.C)
第7章 其他问题
问题7.1 Buffon丢针问题(BUFFON.C)
问题7.2 三色旗问题(FLAG.C)
问题7.3 字符串列整数的转换(X_ATOI.C)
问题7.4 整数类型列的极值(LIMITS.C)
问题5.7 堆积法(HEAPSORT.C)
问题5.8 改良的堆积法(HEAP_NEW.C)
问题5.9 合并法(M_SORT.C)
问题5.10 桶子法(BUCKET.C)
问题5.11 单一重复元素排序(LOT_DUP.C)
问题5.12 均匀重复元素排序(LOG_DUP.C)
问题5.13 堆积式合并(HEAPMERG.C)
问题5.14 检查数组元素是否相异(UNIQUE.C)
问题5.15 数组中和为零的段落(ZEROSUM.C)
问题5.16 平面上的极大点(MAXSET.C)
问题5.17 宴会中访问数目的极大值(MAXVISIT.C)
问题5.18 包含在其他区间中的区间(CONTAIN.C)
第15章 字符串
问题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 产生无连续重复部分的字符串(DISTSEQ.C)
第16章 其他问题
问题7.1 Buffon丢针问题(BUFFON.C)
问题7.2 三色旗问题(FLAG.C)
问题7.3 字符串列整数的转换(X_ATOI.C)
问题7.4 整数类型列的极值(LIMITS.C)
问题7.5 无限位数算术(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 稳定伴侣问题(STABLE.C)
问题7.14 单调矩阵的极值(MONO_MAX.C)
问题7.15 向量分类(CLASSIFY.C)
第8章 游戏问题
问题8.1 奇数阶魔方阵(MAGIC_O.C)
问题8.2 单偶数阶魔方阵(MAGIC_SE.C)
问题8.3 双偶数阶魔方阵(MAGIC_DE.C)
问题8.4 N后问题公式解(N_QUEEN1.C)
问题8.5 N后问题递归解(N_QUEENR.C)
问题8.6 武士巡逻(KNIGHT.C)
问题8.7 环游世界(HAMILTON.C)
问题8.8 一笔画(EULER.C)
问题8.9 非递归河内之塔(HANOI_I.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 最大连续元素和(MAXSUM.C,MAXSUM1.C)
问题9.7 最大连续元素积(MAXPROD.C)
问题7.5 无限位数算术(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 稳定伴侣问题(STABLE.C)
问题7.14 单调矩阵的极值(MONO_MAX.C)
问题7.15 向量分类(CLASSIFY.C)
第17章 游戏问题
问题8.1 奇数阶魔方阵(MAGIC_O.C)
问题8.2 单偶数阶魔方阵(MAGIC.SE.C)
问题8.3 双偶数阶魔方阵(MAGIC DE.C)
问题8.4 N后问题公式解(N_QUEEN1.C)
问题8.5 N后问题递归解(N_QUEENR.C)
问题8.6 武士巡逻(KNIGHT.C)
问题8.7 环游世界(HAMILTON.C)
问题8.8 一笔画(EULER.C)
问题8.9 非递归河内之塔(HANOI_I.C)
问题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 最大连续元素和(MAXSUM.C,MAXSUM1.C)
问题9.7 最大连续元素积(MAXPROD.C)
问题9.8 寻找名人(SINK.C)
问题9.9 投票问题(VOTING.C)
问题9.10 寻找1对1函数(1TO1.C)
问题9.11 寻找支配元素(DOMINATR.C)
问题9.12 最长递增部分序列(LIS.C)
问题9.8 寻找名人(SINK.C)
问题9.9 投票问题(VOTING.C)
问题9.10 寻找1对1函数(1TO1.C)
问题9.11 寻找支配元素(DOMINATR.C)
问题9.12 最长递增部分序列(LIS.C)
参考文献
前言