算法的特点
算法,顾名思义是为了解决一类问题而制定的一个方法。这与程序设计和数据结构密切相关。算法的描述形式也多种多样,像传统流程图、结构化程序图以及计算机程序语言等等。下面就为大家讲解算法的相关内容。
-
**确定性** 在C程序中,每一个执行语句的步骤都应当是被确切定义的。同理,算法的每一个步骤也都应当是被确切定义的。任何一个过程不能有二义性,在编辑算法的过程中,必须对每个执行语句做出严格而又清楚的定义。
-
**有穷性** 在C语言中,每一个算法所执行的语句步数一定是有穷的。并且每一步都可以在有穷的时间内完成,不能无限制的执行下去。如果程序或者程序的某一部分不能在有穷的时间内完成,那么程序就会永无止境的运行下去,进入一个死循环。
-
**可行性** 在C程序中,每一句执行语句必须可以有效的运行出结果。否则就会出现逻辑性的错误。比如:
int num1,num2,num3; //声明三个整型变量
scanf("%d,%d,%d",&num1,&num2,&num3); //输入这三个数,为其赋值
if(num2!=0) //如果num2的值不为0
num3=num1/num2; //num3的值等于num1的值除num2的值
else
printf("error"); //输出 error
很显然,当 num2 的值为0时,上述代码中的第4行代码就是一个无效的执行语句。因为0不可以做分母。
-
**输入及输出** 在C语言中,一个完整的算法应该存在一个或者多个输入/输出的值。输入的值作为执行算法的一些初始量,输出的值则为算法执行后的结果。比如:
int a,b,c; //声明三个变量 a b c
scanf("%d,%d,%d",&a,&b,&c); //输入a b c 的值,为其赋值
上述示例的代码就需要输入多个值,为变量赋值。
又如:
main()
{
printf("hello word"); //输出hello Word
}
上述示例的代码就不需要输入值。
算法的优缺点
算法,既然有其优点,自然也会有缺点。
-
**正确性** 在C语言中,算法的正确性指的是只要输入的数据是合法数据,该算法都可以得到一个确切又准确的值。
-
**可读性** 在C语言中,算法的可读性指的是一个算法被理解的难易程度。一个算法的可读性越高,那么这个算法后期就越容易被理解。相反,若是一个算法的可读性很低,那么这个算法在后期将很难被修复和完善。
-
**健壮性** 在C语言中,算法的健壮性指的是一个算法对于非法输入的包容性。因为每一个用户对同一程序的理解不同,因此在程序使用的过程中会出现输入数据非法的情况。而程序的健壮性使得算法不会因为用户的非法输入而瘫痪。
-
**空间****复杂度和时间复杂度** 在C语言中,算法的空间复杂度和时间复杂度指的是一个算法储存所需要的体积以及这个算法运行所需要的时间。这也是衡量一个算法是否优秀的唯一指标。而到现在,计算机硬件已经高度发达,算法的空间复杂度已经不那么重要了。而如何开发出一个功能复杂却又运行快速的算法成为了现在的目标。
今天的内容就到这里,下期小编将带大家继续学习,各位看官老爷记得查阅哦~
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
发布评论请先 登录
相关推荐
C语言算法速查手册
本书用C语言编写了科研和工程中最常用的166个算法,这些算法包括复数运算、多项式的计算、矩阵运算、线性代数方程组的求解、非线性方程与方程组的求解、代数
发表于 11-24 16:07
•0次下载
C语言算法和注释大全PDF电子书免费下载
本文档的主要内容详细介绍的是C语言算法和注释大全PDF电子书免费下载包括了:1.10进制转2进制,二,标题:啤酒和饮料,三,圆的面积,四,标题:切面条,五,01 字符串,六,字母图形,七,求n 个数的最大值,最小值,和,八,杨辉三角形等91个
发表于 09-12 17:17
•26次下载
单片机常用的C语言算法有哪些?
是对要解决一个问题或要完成一项任务所采取的方法和步骤的描述,包括需要什么数据(输入什么数据、输出什么结果)、采用什么结构、使用什么语句以及如何安排这些语句等。通常使用自然语言、结构化流程图、伪代码等来描述算法。
【干货】单片机常用的14个C语言算法
算法的描述:是对要解决一个问题或要完成一项任务所采取的方法和步骤的描述,包括需要什么数据(输入什么数据、输出什么结果)、采用什么结构、使用什么语句以及如何安排这些语句等。通常使用自然语言、结构化流程图、伪代码等来描述算法。
发表于 02-09 09:46
•3次下载
请问如何将C语言算法移植到FPGA上?
确定算法:首先,你需要确保要移植的C语言算法是合适的。FPGA适合并行计算和高度可定制的应用。因此,你需要选择一个适合FPGA实现的算法。
发表于 09-12 17:20
•1040次阅读
评论