C语言算法的定义及分析详解

编辑: admin 分类: c#语言 发布时间: 2021-12-12 来源:互联网
目录
  • 算法的定义
  • 算法和程序的区别
    • 算法
    • 程序
  • 算法的性质
    • 算法的表示
      • 算法的分析
        • 分析原则
        • 常用的复杂性函数
        • 算法分析基本法则
          • 非递归算法:
      • 总结

        算法的定义

        算法是一系列良定义的计算步骤

        算法和程序的区别

        算法

        算法是指解决问题的一种方法或一个过程。

        算法是若干指令的有穷序列,满足性质:

        1.输入:有外部提供的量作为算法的输入。

        2.输出:算法产生至少一个量作为输出。

        3.确定性:组成算法的每条指令是清晰,无歧义的。

        4.有限性:算法中每条指令的执行次数是有限的,执行每条指令的时间也是有限的。

        程序

        1.程序是算法用某种程序设计语言的具体实现。

        2.程序可以不满足算法的性质(4)。

        3.例如操作系统,是一个在无限循环中执行的程序,因而不是一个算法。

        4.操作系统的各种任务可看成是单独的问题,每一个问题由操作系统中的一个子程序通过特定的算法来实现。该子程序得到输出结果后便终止。

        算法的性质

        有穷性:算法必须在有限步骤后终止

        确定性:算法必须是没有歧义的

        可行性:可以机械的一步步执行

        算法的表示

        自然语言、编程语言、伪代码

        算法的分析

        分析原则

        1.统一机器性能

        2.情况最坏分析

        算法运行时间仅依赖于输入规模n,表示为T(n)

        渐进分析

        渐进记号

        在这里插入图片描述

        在这里插入图片描述

        在这里插入图片描述

        常用的复杂性函数

        在这里插入图片描述
        在这里插入图片描述

        算法分析基本法则

        非递归算法:

        1.for / while 循环

           循环体内计算时间循环次数;

        2.嵌套循环

           循环体内计算时间*所有循环次数;

        3.顺序语句

           各语句计算时间相加;

        4.if-else语句

           if语句计算时间和else语句计算时间的较大者。

        总结

        本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注海外IDC网的更多内容!

        【出处:美国高防服务器 网络转载请说明出处】