简述算法的5种基本特征 - 极悦
首页 课程 师资 教程 报名

简述算法的5种基本特征

  • 2020-12-03 17:19:01
  • 1934次 极悦

算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。不同的算法可能用不同的时间、空间或效率来完成同样的任务,也就是它们的空间复杂度与时间复杂度可以,但是算法必须要有算法的5种基本特征

 

1.有穷性(Finiteness)

算法的有穷性是指算法必须能在执行有限个步骤之后终止。这一点很好理解,倘若一个算法需要执行无限个步骤而得不出结果,那么这个算法是毫无意义的。除此之外,也是避免了算法陷入死循环中,这样也是毫无意义的。比如下面的例子:

 

void fa(  )

{

      int i=0,s=0;

      while(i<10) //死循环

          s++;        //不满足有穷性

      i++;

      printf(“s=%d,i=%d\n“,s,i);

}

void fb(  )

{

      int i=0,s=0;

      while(i<10) //i<10执行多少次

      {

          s++;  //s++执行?次

          i++; // i++ 执行?次

      }

      printf(“s=%d,i=%d\n“,s,i); 

}


2.确切性(Definiteness)

一个算法的每一步骤必须有确切的定义。对于每一种情况,需要执行的动作都应严格地、清晰地规定。这从很大程度上增强了算法的严谨性,本身算法的定义中,算法是一系列解决问题的清晰指令,每一步都是有意义的。

 

3.输入(Input)

一个算法有零个或多个输入,以刻画运算对象的初始情况,所谓零个输入是指算法本身给定了初始条件。这些输入取自于特定的对象的集合。它们可以使用输入语句由外部提供,也可以使用赋值语句在算法内给定。

 

4.输出(Output):

一个算法有一个或多个输出。算法本身就是为了解决问题得到答案的,所以,没有输出的算法毫无意义。

 

5.可行性(Effectiveness)

一个算法的任何计算步骤都是可以被分解为基本可执行的操作,每个操作都能够在有限时间内完成。

 

 

算法中的指令描述的是一个计算,当其运行时能从一个初始状态和(可能为空的)初始输入开始,经过一系列有限而清晰定义的状态,最终产生输出并停止于一个终态。一个状态到另一个状态的转移不一定是确定的。但不管怎样,算法本身还是要满足上述的算法的5个基本特征的,包括随机化算法在内的一些算法,都必须包含了一些随机输入。快来本站的数据结构与算法教程学习各种各样的算法,解决各种疑难问题吧。


选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交