本文主要详细介绍了C语言算法的定义和分析。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。
目录
算法的定义,算法与程序的区别,程序的性质,算法,算法的表示,常用复杂函数算法的分析与分析原理,分析的基本原理,非递归算法:总结
算法的定义
算法是一系列定义明确的计算步骤。
算法和程序的区别
算法
算法是指解决问题的方法或过程。
该算法是几个指令的有限序列,满足以下特性:
1.输入:有外部提供的量作为算法的输入。
2.输出:算法生成至少一个量作为输出。
3.确定性:组成算法的每条指令都是清晰明确的。
4.限制:算法中每条指令执行的次数是有限的,执行每条指令的时间也是有限的。
程序
1.程序是算法在某种编程语言中的具体实现。
2.程序不能满足算法(4)的性质。
3.比如操作系统是一个无限循环执行的程序,所以不是算法。
4.操作系统的各种任务可以看作是独立的问题,每个问题都是由操作系统中的一个子程序通过特定的算法来实现的。当获得输出结果时,子程序终止。
算法的性质
有限性:算法必须在有限步数后终止。
确定性:算法必须是明确的
可行性:可以一步一步机械实施。
算法的表示
语言、编程语言、伪代码
算法的分析
分析原则
1.统一机器性能
2.最坏情况分析
算法的运行时间只取决于输入尺度N,用T(n)表示
渐进分析
渐进记号
常用的复杂性函数
算法分析基本法则
非递归算法:
1.for / while 循环
计算体内时间周期数;
2.嵌套循环
体内循环计算时间*所有循环时间;
3.顺序语句
每条语句的计算时间相加;
4.if-else语句
if语句计算时间和else语句计算时间中的较大者。
总结
本文到此为止。希望能帮到你,也希望你能多关注我们的更多内容!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。