从0开始学习数据结构-初识②

137 阅读2分钟

这是我参与2022首次更文挑战的第9天,活动详情查看:2022首次更文挑战

算法及其性质

算法的基本特性

  • 输入
  • 输出
  • 有穷性
  • 确定性
  • 有效性

基本算法

  • 枚举法(enunmeration):从集合中一一列举各个元素。
  • 归纳法(induction):从某些问题中归纳总结出某种规律。常用的有数学归纳法、递推和递归
  • 回溯法(backtracking):当某些问题难于归纳,又不能进行N多的枚举。但是可以根据一些线索多试试几种方法,不成功就在返回问题的出发点,所有方法都试过之后,问题也许可能会解决。失败了在返回再试,这就是回溯。回溯法是设计递归过程的重要手段之一。
  • 模拟法(simulation)

算法的描述

  • 程序
  • 伪代码

涉及到C语言成分的主要包括:

  • ①数据结构的表示(存储结构)采用类型定义(typedef)描述,而数据元素的类型则由用户在使用该数据类型时自行定义
  • ② 基本操作的算法以下形式的函数描述
函数类型 函数名(参数表) 
{
    语句序列
}

:在参数表中,以&开头的参数即为引用参数

  • ③ 赋值语句的几种方式
    • 简单赋值 变量名 = 表达式;
    • 条件赋值 变量名 = 条件表达式 ? 表达式(真) : 表达式(假)(三元表达式方式)
  • ④条件语句的几种方式
    • 条件语句1
    if (表达式) 
        语句序列
    
    • 条件语句2
    
    if (表达式) 
        语句序列
    else 
        语句序列
    
    • 开关语句1
    switch (表达式) {
        case1: 语句序列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)
  • ⑧注释行的格式
    • 单行注释:// 注释类容
    • 多行注释:/*注释类容*/