快速查找算法 C语言算法速查手册完整代码

2017/4/13 12:20:23

<<C语言算法速查手册>> 配书源代码C语言算法速查手册 目录 第1章 绪论 11.1 程序设计语言概述 11.1.1 机器语言 11.1.2 汇编语言 21.1.3 高级语言 21.

1.4 C语言 31.2 C语言的优点和缺点 41.2.1 C语言的优点 41.2.2 C语言的缺点 61.3 算法概述 71.3.1 算法的基本特征 71.3.2 算法的复杂度 81.3.3 算法的准确性 101.

快速查找算法 C语言算法速查手册完整代码

3.4 算法的稳定性 14第2章 复数运算 182.1 复数的四则运算 182.1.1 [算法1] 复数乘法 182.1.2 [算法2] 复数除法 202.1.3 【实例5】 复数的四则运算 222.

2 复数的常用函数运算 232.2.1 [算法3] 复数的乘幂 232.2.2 [算法4] 复数的n次方根 252.2.3 [算法5] 复数指数 272.2.4 [算法6] 复数对数 292.

快速查找算法 C语言算法速查手册完整代码

2.5 [算法7] 复数正弦 302.2.6 [算法8] 复数余弦 322.2.7 【实例6】 复数的函数运算 34第3章 多项式计算 373.1 多项式的表示方法 373.1.1 系数表示法 373.

1.2 点表示法 383.1.3 [算法9] 系数表示转化为点表示 383.1.4 [算法10] 点表示转化为系数表示 423.1.5 【实例7】 系数表示法与点表示法的转化 463.

快速查找算法 C语言算法速查手册完整代码

2 多项式运算 473.2.1 [算法11] 复系数多项式相乘 473.2.2 [算法12] 实系数多项式相乘 503.2.3 [算法13] 复系数多项式相除 523.2.4 [算法14] 实系数多项式相除 543.

2.5 【实例8】 复系数多项式的乘除法 563.2.6 【实例9】 实系数多项式的乘除法 573.3 多项式的求值 593.3.1 [算法15] 一元多项式求值 593.3.2 [算法16] 一元多项式多组求值 603.

快速查找算法 C语言算法速查手册完整代码

3.3 [算法17] 二元多项式求值 633.3.4 【实例10】 一元多项式求值 653.3.5 【实例11】 二元多项式求值 66第4章 矩阵计算 684.1 矩阵相乘 684.

1.1 [算法18] 实矩阵相乘 684.1.2 [算法19] 复矩阵相乘 704.1.3 【实例12】 实矩阵与复矩阵的乘法 724.2 矩阵的秩与行列式值 734.2.1 [算法20] 求矩阵的秩 734.

快速查找算法 C语言算法速查手册完整代码

2.2 [算法21] 求一般矩阵的行列式值 764.2.3 [算法22] 求对称正定矩阵的行列式值 804.2.4 【实例13】 求矩阵的秩和行列式值 824.3 矩阵求逆 844.

3.1 [算法23] 求一般复矩阵的逆 844.3.2 [算法24] 求对称正定矩阵的逆 904.3.3 [算法25] 求托伯利兹矩阵逆的Trench方法 924.3.4 【实例14】 验证矩阵求逆算法 974.

快速查找算法 C语言算法速查手册完整代码

3.5 【实例15】 验证T矩阵求逆算法 994.4 矩阵分解与相似变换 1024.4.1 [算法26] 实对称矩阵的LDL分解 1024.4.2 [算法27] 对称正定实矩阵的Cholesky分解 1044.

4.3 [算法28] 一般实矩阵的全选主元LU分解 1074.4.4 [算法29] 一般实矩阵的QR分解 1124.4.5 [算法30] 对称实矩阵相似变换为对称三对角阵 1164.

快速查找算法 C语言算法速查手册完整代码

4.6 [算法31] 一般实矩阵相似变换为上Hessen-Burg矩阵 1214.4.7 【实例16】 对一般实矩阵进行QR分解 1264.4.8 【实例17】 对称矩阵的相似变换 1274.

4.9 【实例18】 一般实矩阵相似变换 1294.5 矩阵特征值的计算 1304.5.1 [算法32] 求上Hessen-Burg矩阵全部特征值的QR方法 1304.5.2 [算法33] 求对称三对角阵的全部特征值 1374.

快速查找算法 C语言算法速查手册完整代码

5.3 [算法34] 求对称矩阵特征值的雅可比法 1434.5.4 [算法35] 求对称矩阵特征值的雅可比过关法 1474.5.5 【实例19】 求上Hessen-Burg矩阵特征值 1514.

5.6 【实例20】 分别用两种雅克比法求对称矩阵特征值 152第5章 线性代数方程组的求解 1545.1 高斯消去法 1545.1.1 [算法36] 求解复系数方程组的全选主元高斯消去法 1555.

快速查找算法 C语言算法速查手册完整代码

1.2 [算法37] 求解实系数方程组的全选主元高斯消去法 1605.1.3 [算法38] 求解复系数方程组的全选主元高斯-约当消去法 1635.1.4 [算法39] 求解实系数方程组的全选主元高斯-约当消去法 1685.

快速查找算法 C语言算法速查手册完整代码

1.5 [算法40] 求解大型稀疏系数矩阵方程组的高斯-约当消去法 1715.1.6 [算法41] 求解三对角线方程组的追赶法 1745.1.7 [算法42] 求解带型方程组的方法 1765.

1.8 【实例21】 解线性实系数方程组 1795.1.9 【实例22】 解线性复系数方程组 1805.1.10 【实例23】 解三对角线方程组 1825.

2 矩阵分解法 1845.2.1 [算法43] 求解对称方程组的LDL分解法 1845.2.2 [算法44] 求解对称正定方程组的Cholesky分解法 1865.2.3 [算法45] 求解线性最小二乘问题的QR分解法 1885.

2.4 【实例24】 求解对称正定方程组 1915.2.5 【实例25】 求解线性最小二乘问题 1925.3 迭代方法 1935.3.1 [算法46] 病态方程组的求解 1935.

3.2 [算法47] 雅克比迭代法 1975.3.3 [算法48] 高斯-塞德尔迭代法 2005.3.4 [算法49] 超松弛方法 2035.3.5 [算法50] 求解对称正定方程组的共轭梯度方法 2055.

3.6 [算法51] 求解托伯利兹方程组的列文逊方法 2095.3.7 【实例26】 解病态方程组 2145.3.8 【实例27】 用迭代法解方程组 2155.3.9 【实例28】 求解托伯利兹方程组 217第6章 非线性方程与方程组的求解 2196.

1 非线性方程求根的基本过程 2196.1.1 确定非线性方程实根的初始近似值或根的所在区间 2196.1.2 求非线性方程根的精确解 2216.

2 求非线性方程一个实根的方法 2216.2.1 [算法52] 对分法 2216.2.2 [算法53] 牛顿法 2236.2.3 [算法54] 插值法 2266.2.4 [算法55] 埃特金迭代法 2296.

2.5 【实例29】 用对分法求非线性方程组的实根 2326.2.6 【实例30】 用牛顿法求非线性方程组的实根 2336.2.7 【实例31】 用插值法求非线性方程组的实根 2356.

2.8 【实例32】 用埃特金迭代法求非线性方程组的实根 2376.3 求实系数多项式方程全部根的方法 2386.3.1 [算法56] QR方法 2386.3.2 【实例33】 用QR方法求解多项式的全部根 2406.

4 求非线性方程组一组实根的方法 2416.4.1 [算法57] 梯度法 2416.4.2 [算法58] 拟牛顿法 2446.4.3 【实例34】 用梯度法计算非线性方程组的一组实根 2506.

4.4 【实例35】 用拟牛顿法计算非线性方程组的一组实根 252第7章 代数插值法 2547.1 拉格朗日插值法 2547.1.1 [算法59] 线性插值 2557.1.2 [算法60] 二次抛物线插值 2567.

1.3 [算法61] 全区间插值 2597.1.4 【实例36】 拉格朗日插值 2627.2 埃尔米特插值 2637.2.1 [算法62] 埃尔米特不等距插值 2637.

2.2 [算法63] 埃尔米特等距插值 2677.2.3 【实例37】 埃尔米特插值法 2707.3 埃特金逐步插值 2717.3.1 [算法64] 埃特金不等距插值 2727.3.2 [算法65] 埃特金等距插值 2757.

3.3 【实例38】 埃特金插值 2787.4 光滑插值 2797.4.1 [算法66] 光滑不等距插值 2797.4.2 [算法67] 光滑等距插值 2837.4.

3 【实例39】 光滑插值 2867.5 三次样条插值 2877.5.1 [算法68] 第一类边界条件的三次样条函数插值 2877.5.2 [算法69] 第二类边界条件的三次样条函数插值 2927.5.

3 [算法70] 第三类边界条件的三次样条函数插值 2967.5.4 【实例40】 样条插值法 3017.6 连分式插值 3037.6.1 [算法71] 连分式插值 3047.6.2 【实例41】 验证连分式插值的函数 308第8章 数值积分法 3098.

1 变步长求积法 3108.1.1 [算法72] 变步长梯形求积法 3108.1.2 [算法73] 自适应梯形求积法 3138.1.3 [算法74] 变步长辛卜生求积法 3168.

1.4 [算法75] 变步长辛卜生二重积分方法 3188.1.5 [算法76] 龙贝格积分 3228.1.6 【实例42】 变步长积分法进行一重积分 3258.1.

7 【实例43】 变步长辛卜生积分法进行二重积分 3268.2 高斯求积法 3288.2.1 [算法77] 勒让德-高斯求积法 3288.2.2 [算法78] 切比雪夫求积法 3318.2.3 [算法79] 拉盖尔-高斯求积法 3348.

2.4 [算法80] 埃尔米特-高斯求积法 3368.2.5 [算法81] 自适应高斯求积方法 3378.2.6 【实例44】 有限区间高斯求积法 3428.2.

7 【实例45】 半无限区间内高斯求积法 3438.2.8 【实例46】 无限区间内高斯求积法 3458.3 连分式法 3468.3.1 [算法82] 计算一重积分的连分式方法 3468.3.2 [算法83] 计算二重积分的连分式方法 3508.

3.3 【实例47】 连分式法进行一重积分 3548.3.4 【实例48】 连分式法进行二重积分 3558.4 蒙特卡洛法 3568.4.1 [算法84] 蒙特卡洛法进行一重积分 3568.

4.2 [算法85] 蒙特卡洛法进行二重积分 3588.4.3 【实例49】 一重积分的蒙特卡洛法 3608.4.4 【实例50】 二重积分的蒙特卡洛法 361第9章 常微分方程(组)初值问题的求解 3639.

1 欧拉方法 3649.1.1 [算法86] 定步长欧拉方法 3649.1.2 [算法87] 变步长欧拉方法 3669.1.3 [算法88] 改进的欧拉方法 3709.

1.4 【实例51】 欧拉方法求常微分方程数值解 3729.2 龙格-库塔方法 3769.2.1 [算法89] 定步长龙格-库塔方法 3769.2.2 [算法90] 变步长龙格-库塔方法 3799.

2.3 [算法91] 变步长基尔方法 3839.2.4 【实例52】 龙格-库塔方法求常微分方程的初值问题 3869.3 线性多步法 3909.3.1 [算法92] 阿当姆斯预报校正法 3909.

3.2 [算法93] 哈明方法 3949.3.3 [算法94] 全区间积分的双边法 3999.3.4 【实例53】 线性多步法求常微分方程组初值问题 401第10章 拟合与逼近 40510.

1 一元多项式拟合 40510.1.1 [算法95] 最小二乘拟合 40510.1.2 [算法96] 最佳一致逼近的里米兹方法 41210.1.3 【实例54】 一元多项式拟合 41710.2 矩形区域曲面拟合 41910.

2.1 [算法97] 矩形区域最小二乘曲面拟合 41910.2.2 【实例55】 二元多项式拟合 428第11章 特殊函数 43011.1 连分式级数和指数积分 43011.1.

1 [算法98] 连分式级数求值 43011.1.2 [算法99] 指数积分 43311.1.3 【实例56】 连分式级数求值 43611.1.4 【实例57】 指数积分求值 43811.2 伽马函数 43911.

2.1 [算法100] 伽马函数 43911.2.2 [算法101] 贝塔函数 44111.2.3 [算法102] 阶乘 44211.2.4 【实例58】 伽马函数和贝塔函数求值 44311.

2.5 【实例59】 阶乘求值 44411.3 不完全伽马函数 44511.3.1 [算法103] 不完全伽马函数 44511.3.2 [算法104] 误差函数 44811.3.3 [算法105] 卡方分布函数 45011.

3.4 【实例60】 不完全伽马函数求值 45111.3.5 【实例61】 误差函数求值 45211.3.6 【实例62】 卡方分布函数求值 45311.4 不完全贝塔函数 45411.

4.1 [算法106] 不完全贝塔函数 45411.4.2 [算法107] 学生分布函数 45711.4.3 [算法108] 累积二项式分布函数 45811.4.4 【实例63】 不完全贝塔函数求值 45911.

5 贝塞尔函数 46111.5.1 [算法109] 第一类整数阶贝塞尔函数 46111.5.2 [算法110] 第二类整数阶贝塞尔函数 46611.5.3 [算法111] 变型第一类整数阶贝塞尔函数 46911.

5.4 [算法112] 变型第二类整数阶贝塞尔函数 47311.5.5 【实例64】 贝塞尔函数求值 47611.5.6 【实例65】 变型贝塞尔函数求值 47711.

6 Carlson椭圆积分 47911.6.1 [算法113] 第一类椭圆积分 47911.6.2 [算法114] 第一类椭圆积分的退化形式 48111.6.3 [算法115] 第二类椭圆积分 48311.

6.4 [算法116] 第三类椭圆积分 48611.6.5 【实例66】 第一类勒让德椭圆函数积分求值 49011.6.6 【实例67】 第二类勒让德椭圆函数积分求值 492第12章 极值问题 49412.

1 一维极值求解方法 49412.1.1 [算法117] 确定极小值点所在的区间 49412.1.2 [算法118] 一维黄金分割搜索 49912.1.3 [算法119] 一维Brent方法 50212.

1.4 [算法120] 使用一阶导数的Brent方法 50612.1.5 【实例68】 使用黄金分割搜索法求极值 51112.1.6 【实例69】 使用Brent法求极值 51312.

1.7 【实例70】 使用带导数的Brent法求极值 51512.2 多元函数求极值 51712.2.1 [算法121] 不需要导数的一维搜索 51712.2.2 [算法122] 需要导数的一维搜索 51912.

2.3 [算法123] Powell方法 52212.2.4 [算法124] 共轭梯度法 52512.2.5 [算法125] 准牛顿法 53112.2.6 【实例71】 验证不使用导数的一维搜索 53612.

2.7 【实例72】 用Powell算法求极值 53712.2.8 【实例73】 用共轭梯度法求极值 53912.2.9 【实例74】 用准牛顿法求极值 54012.3 单纯形法 54212.

3.1 [算法126] 求无约束条件下n维极值的单纯形法 54212.3.2 [算法127] 求有约束条件下n维极值的单纯形法 54812.3.3 [算法128] 解线性规划问题的单纯形法 55612.

3.4 【实例75】 用单纯形法求无约束条件下N维的极值 56812.3.5 【实例76】 用单纯形法求有约束条件下N维的极值 56912.3.6 【实例77】 求解线性规划问题 571第13章 随机数产生与统计描述 57413.

1 均匀分布随机序列 57413.1.1 [算法129] 产生0到1之间均匀分布的一个随机数 57413.1.2 [算法130] 产生0到1之间均匀分布的随机数序列 57613.

1.3 [算法131] 产生任意区间内均匀分布的一个随机整数 57713.1.4 [算法132] 产生任意区间内均匀分布的随机整数序列 57813.1.5 【实例78】 产生0到1之间均匀分布的随机数序列 58013.

1.6 【实例79】 产生任意区间内均匀分布的随机整数序列 58113.2 正态分布随机序列 58213.2.1 [算法133] 产生任意均值与方差的正态分布的一个随机数 58213.

2.2 [算法134] 产生任意均值与方差的正态分布的随机数序列 58513.2.3 【实例80】 产生任意均值与方差的正态分布的一个随机数 58713.2.4 【实例81】 产生任意均值与方差的正态分布的随机数序列 58813.

3 统计描述 58913.3.1 [算法135] 分布的矩 58913.3.2 [算法136] 方差相同时的t分布检验 59113.3.

3 [算法137] 方差不同时的t分布检验 59413.3.4 [算法138] 方差的F检验 59613.3.5 [算法139] 卡方检验 59913.3.6 【实例82】 计算随机样本的矩 60113.

3.7 【实例83】 t分布检验 60213.3.8 【实例84】 F分布检验 60513.3.9 【实例85】 检验卡方检验的算法 607第14章 查找 60914.1 基本查找 60914.1.

1 [算法140] 有序数组的二分查找 60914.1.2 [算法141] 无序数组同时查找最大和最小的元素 61114.1.3 [算法142] 无序数组查找第M小的元素 61314.1.4 【实例86】 基本查找 61514.

2 结构体和磁盘文件的查找 61714.2.1 [算法143] 无序结构体数组的顺序查找 61714.2.2 [算法144] 磁盘文件中记录的顺序查找 61814.2.3 【实例87】 结构体数组和文件中的查找 61914.

3 哈希查找 62214.3.1 [算法145] 字符串哈希函数 62214.3.2 [算法146] 哈希函数 62614.3.3 [算法147] 向哈希表中插入元素 62814.

3.4 [算法148] 在哈希表中查找元素 62914.3.5 [算法149] 在哈希表中删除元素 63114.3.6 【实例88】 构造哈希表并进行查找 632第15章 排序 63615.

1 插入排序 63615.1.1 [算法150] 直接插入排序 63615.1.2 [算法151] 希尔排序 63715.1.3 【实例89】 插入排序 63915.2 交换排序 64115.

2.1 [算法152] 气泡排序 64115.2.2 [算法153] 快速排序 64215.2.3 【实例90】 交换排序 64415.3 选择排序 64615.3.1 [算法154] 直接选择排序 64615.

3.2 [算法155] 堆排序 64715.3.3 【实例91】 选择排序 65015.4 线性时间排序 65115.4.1 [算法156] 计数排序 65115.4.2 [算法157] 基数排序 65315.

4.3 【实例92】 线性时间排序 65615.5 归并排序 65715.5.1 [算法158] 二路归并排序 65815.5.2 【实例93】 二路归并排序 660第16章 数学变换与滤波 66216.

1 快速傅里叶变换 66216.1.1 [算法159] 复数据快速傅里叶变换 66216.1.2 [算法160] 复数据快速傅里叶逆变换 66616.1.3 [算法161] 实数据快速傅里叶变换 66916.

1.4 【实例94】 验证傅里叶变换的函数 67116.2 其他常用变换 67416.2.1 [算法162] 快速沃尔什变换 67416.2.2 [算法163] 快速哈达玛变换 67816.

2.3 [算法164] 快速余弦变换 68216.2.4 【实例95】 验证沃尔什变换和哈达玛的函数 68416.2.5 【实例96】 验证离散余弦变换的函数 68716.

3 平滑和滤波 68816.3.1 [算法165] 五点三次平滑 68916.3.2 [算法166] α-β-γ滤波 69016.3.3 【实例97】 验证五点三次平滑 69216.3.4 【实例98】 验证α-β-γ滤波算法 693...展开收缩