【算法】算法简介

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liyuerge/article/details/82966293
算法的定义
  算法,是为了解决某类问题而规定的一个有限长度的操作序列,是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。
  也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。
算法的五个特征
  1、有穷性,一个算法必须在执行有穷步骤后结束,且每一步都要在有穷时间内完成。
  2、确定性,对于每种情况下所执行的操作,在算法结束后都应有明确都规定,不会产生二义性,是算法都执行者或者阅读者都能明确其含义及如何执行。
  3、可行性,算法中都所有操作都 可以通过已经实习都基本操作运算执行有限次数来实现。
  4、输入,一个算法有0个或者多个输入,当用函数描述算法时,输入往往是通过形参表示的,在他们被调用时,从主调函数获得输入值。
  5、输出,一个算法有一个或多个输出,他们是算法进行信息加工后得到的结果,无输出的算法没有任何意义,当用函数描述算法时,输出多用返回值或者引用类型的形参来表示
评价算法的优劣
  1、正确性,在合理的数据输入下,能够在有限的运行时间内得到正确的结果。
  2、可读性,一个好的算法,首先应该是便于人们理解和相互交流,其次才是机器的可执行性,可读性强的算法有助于人们对于算法的理解,而难懂的算法易于隐藏错误,难于调试和修改。
  3、健壮性,当输入当数据非法时,好当算法能够适当地做出正确反应或进行相应地处理,而不会产生一些莫名其妙地输出。
  4、高效性,包括时间和空间两个方面,时间高效时指算法设计合理,执行效率高,可以用时间复杂度来度量;空间高效性是指的算法占用存储容量合理,可以用该空间复杂度来度量。
  时间复杂度和空间复杂度是衡量算法的两个重要指标。

猜你喜欢

转载自blog.csdn.net/liyuerge/article/details/82966293
今日推荐