这是我参与2022首次更文挑战的第9天,活动详情查看:2022首次更文挑战
算法及其性质
算法的基本特性
- 输入
- 输出
- 有穷性
- 确定性
- 有效性
基本算法
- 枚举法(enunmeration):从集合中一一列举各个元素。
- 归纳法(induction):从某些问题中归纳总结出某种规律。常用的有数学归纳法、递推和递归
- 回溯法(backtracking):当某些问题难于归纳,又不能进行N多的枚举。但是可以根据一些线索多试试几种方法,不成功就在返回问题的出发点,所有方法都试过之后,问题也许可能会解决。失败了在返回再试,这就是回溯。回溯法是设计递归过程的重要手段之一。
- 模拟法(simulation):
算法的描述
- 程序
- 伪代码
涉及到C语言成分的主要包括:
- ①数据结构的表示(存储结构)采用类型定义(typedef)描述,而数据元素的类型则由用户在使用该数据类型时自行定义
- ② 基本操作的算法以下形式的函数描述
函数类型 函数名(参数表)
{
语句序列
}
注:在参数表中,以&开头的参数即为引用参数
- ③ 赋值语句的几种方式
- 简单赋值
变量名 = 表达式; - 条件赋值
变量名 = 条件表达式 ? 表达式(真) : 表达式(假)(三元表达式方式)
- 简单赋值
- ④条件语句的几种方式
- 条件语句1
if (表达式) 语句序列- 条件语句2
if (表达式) 语句序列 else 语句序列- 开关语句1
switch (表达式) { case 值1: 语句序列1; break; . . . case 值n: 语句序列n; break; default: 语句序列n+1; }- 开关语句2
switch (表达式) { case 条件1: 语句序列1; break; . . . case 条件n: 语句序列n; break; default: 语句序列n+1; } - ⑤循环语句的几种方式
- for语句
for(赋值表达式序列; 循环条件; 修改表达式序列) { 语句序列; }- while语句
while(条件) { 语句序列 }- do while语句
do { 语句序列; } while (条件) - ⑥结束语句的几种方式
- 函数返回语句
return 表达式; - case 结束语句
break; - 异常结束语句
exit(异常代码)
- 函数返回语句
- ⑦ 输入/输出语句
- 输入语句
scanf([格式串], 变量1, ..., 变量n) - 输出语句
printf([格式串], 表达式1, ..., 表达式n)
- 输入语句
- ⑧注释行的格式
- 单行注释:
// 注释类容 - 多行注释:
/*注释类容*/
- 单行注释: