c语言常用算法分析 微盘,c语言常用算法归纳-20210403021646.pdf-原创力文档

C语言常用算法归纳

应当掌握的一般算法

一、基本算法:

交换、累加、累乘

二、非数值计算常用经典算法:

穷举、排序(冒泡,选择)、查找(顺序即线性)

三、数值计算常用经典算法:

级数计算(直接、简接即递推)、一元非线性方程求根(牛顿迭代法、

二分法)、定积分计算(矩形法、梯形法)

四、其他:

迭代、进制转换、矩阵转置、字符处理(统计、数字串、字母大小写转

换、加密等)、整数各数位上数字的获取、辗转相除法求最大公约数(最

小公倍数) 、求最值、判断素数(各种变形) 、数组元素的插入(删除)、

二维数组的其他典型问题(方阵的特点、杨辉三角形)

详细讲解

一、基本算法

1.交换(两量交换借助第三者)

例 1、任意读入两个整数,将二者的值交换后输出。

()

{ ;

("");

("\n");

; ; ;

("\n");

}

1 / 25

【解析】程序中加粗部分为算法的核心,如同交换两个杯子里的饮料,

必须借助第三个空杯子。

假设输入的值分别为 3、7,则第一行输出为 3,7;第二行输出为 7,3。

其中 t 为中间变量,起到“空杯子”的作用。

注意:三句赋值语句赋值号左右的各量之间的关系!

【应用】

例 2、任意读入三个整数,然后按从小到大的顺序输出。

()

{ ;

("");

/* 以下两个语句使得 a 中存放的数最小 */

(a>b){ ; ; ; }

(a>c){ ; ; ; }

/* 以下语句使得 b 中存放的数次小 */

(b>c) { ; ; ; }

("\n");

}

2 .累加

累加算法的要领是形如“”的累加式 ,此式必须出现在循环中才能被反

复执行,从而实现累加功能。“ A”通常是有规律变化的表达式, s 在进入

循环前必须获得合适的初值,通常为 0。

例 1、求 1+2+3+……+100 的和。

()

{ ;

0; 1;

(i<=100)

{ ; /* 累加式 */

1; /* 特殊的累加式 */

}

("1+2+3100\n");

}

【解析】程序中加粗部分为累加式的典型形式 ,赋值号左右都出现的变

量称为累加器,其中“i = i + 1”为特殊的累加式,每次累加的值为

1,这样的累加器又称为计数器。

3.累乘

2 / 25

累乘算法的要领是形如“ *A”的累乘式 ,此式必须出现在循环中才能被

反复执行,从而实现累乘功能。“ A”通常是有规律变化的表达式, s 在进

入循环前必须获得合适的初值,通常为 1。

例 1、求 10 !

[ 分析 ] 10 !=1×2 ×3×……× 10

()

{ i; c;

1; 1;

(i<=10)

{ *i;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第1章 多项式计算 1.1 一维多项式求值 1.2 一维多项式多组求值 1.3 二维多项式求值 1.4 复系数多项式求值 1.5 多项式相乘 1.6 复系数多项式相乘 1.7 多项式相除 1.8 复系数多项式相除 1.9 实系数多项式类 1.10 复系数多项式类 第2章 复数运算 2.1 复数乘法 2.2 复数除法 2.3 复数乘幂 2.4 复数的n次方根 2.5 复数指数 2.6 复数对数 2.7 复数正弦 2.8 复数余弦 2.9 复数类 第3章 随机数的产生 3.1 产生0-1之间均匀分布的一个随机数 3.2 产生0-1之间均匀分布的随机数序列 3.3 产生任意区间内均匀分布的一个随机整数 3.4 产生任意区间内均匀分布的随机整数序列 3.5 产生任意均值与方差的正态分布的一个随机数 3.6 产生任意均值与方差的正态分布的随机数序列 第4章 矩阵运算 4.1 实矩阵相乘 4.2 复矩阵相乘 4.3 一般实矩阵求逆 4.4 一般复矩阵求逆 4.5 对称正定矩阵的求逆 4.6 托伯利兹矩阵求逆的特兰持方法 4.7 求一般行列式的值 4.8 求矩阵的秩 4.9 对称正定矩阵的乔里斯基分解与行列式求值 4.10 矩阵的三角分解 4.11 一般实矩阵的QR分解 4.12 一般实矩阵的奇异值分解 4.13 求广义逆的奇异值分解法 第5章 矩阵特征值与特征向量的计算 5.1 约化对称矩阵为对称三对角阵的豪斯荷尔德变换法 5.2 求对称三对角阵的全部特征值与特征向量 5.3 约化一般实矩阵为赫申伯格矩阵的初等相似变换法 5.4 求赫申伯格矩阵全部特征值的QR方法 5.5 求实对称矩阵特征值与特征向量的雅可比法 5.6 求实对称矩阵特征值与特征向量的雅可比过关法 第6章 线性代数方程组的求解 6.1 求解实系数方程组的全选主元高斯消去法 6.2 求解实系数方程组的全选主元高斯-约当消去法 6.3 求解复系数方程组的全选主元高斯消去法 6.4 求解复系数方程组的全选主元高斯-约当消去法 6.5 求解三对角线方程组的追赶法 6.6 求解一般带型方程组 6.7 求解对称方程组的分解法 6.8 求解对称正定方程组的平方根法 6.9 求解托伯利兹方程组的列文逊方法 6.10 高斯-赛德尔迭代法 6.11 求解对称正定方程组的共轭梯度法 6.12 求解线性最小二乘问题的豪斯荷尔德变换法 6.13 求解线性最小二乘问题的广义逆法 6.14 求解病态方程组 第7章 非线性方程与方程组的求解 7.1 求非线性方程实根的对分法 7.2 求非线性方程一个实根的牛顿法 7.3 求非线性方程一个实根的埃特金迭代法 7.4 求非线性方程一个实根的试位法 7.5 求非线性方程一个实根的连分式法 7.6 求实系数代数方程全部根的QR方法 7.7 求实系数代数方程全部根的牛顿下山法 7.8 求复系数代数方程全部根的牛顿下山法 …… 第8章 插值与逼近 第9章 数值积分 第10章 常微分方程组的求解 第11章 数据处理 第12章 极值问题的求解 第13章 数学变换与滤波 第14章 特殊函数的计算 第15章 排序 第16章 查找 参考文献 作者介绍

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值