• C语言的算法


    什么是算法|算法的概念

      一个程序应包括:

    • 对数据的描述:在程序中要指定数据的类型和数据的组织形式,即数据结构(data structure)。
    • 对操作的描述:即操作步骤,也就是算法(algorithm)。

      Nikiklaus Wirth提出的公式:程序=数据结构+算法

      这三个方面是一个程序涉及人员所应具备的知识。本教程的目的是使同学知道怎样编写一个C程序,进行编写程序的初步训练,因此,只介绍算法的初步知识。

      做任何事情都有一定的步骤。为解决一个问题而采取的方法和步骤,就称为算法。

     

      简单的C语言算法举例

      【例1-1】求1×2×3×4×5。

    最原始方法:
    步骤1:先求1×2,得到结果2。
    步骤2:将步骤1得到的乘积2乘以3,得到结果6。
    步骤3:将6再乘以4,得24。
    步骤4:将24再乘以5,得120。
    这样的算法虽然正确,但太繁。
    
    改进后的算法
    S1:t=1
    S2:i=2
    S3:t*1,乘积仍然放在变量t中,可以表示为t*i->t
    S4:使i的值+1,即i+1->i
    S5:如果i<=5返回重新执行S3以及后面的S4,S5,否者算法结束。
    如果使计算100,只需要改变S5即i<=100即可。
    
    
    
    

      C语言算法有如下特性:

    • 有穷性:一个算法应包含有限的操作步骤而不能是无限的。
    • 确定性:算法中每一个步骤应当是确定的,而不能应当是含糊的、模棱两可的。
    • 有零个或多个输入。
    • 有一个或多个输出。
    • 有效性:算法中每一个步骤应当能有效地执行,并得到确定的结果。

    对于程序设计人员,必须会设计算法,并根据算法写出程序。

     

     

     

  • 相关阅读:
    Codeforces Round #622 C2.Skyscrapers (hard version)
    蓝桥杯 54合根植物(并查集+统计集合个数)
    蓝桥杯 6翻硬币
    Codeforces Round #622 (Div. 2) C1. Skyscrapers (easy version)(简单版本暴力)
    Codeforces Round #622 (Div. 2) A. Fast Food Restaurant
    洛谷P1734 最大约数和(01背包)
    HDU 1069 Monkey and Banana(线性DP)
    2019CSP-S T1格雷码
    eclipse使用git提交项目
    GitHub 注册失败的原因 以及解决 。
  • 原文地址:https://www.cnblogs.com/huxiaowei/p/3866545.html
Copyright © 2020-2023  润新知