算法、时间复杂度及空间复杂度概念

  • Post author:
  • Post category:其他




算法



一、概念:

是指令的集合,是为解决特定问题而规定的一系列操作。

它是明确定义的可计算过程,以一个数据集合作为输入,并产生一个数据集合作为输出。



1、一个算法通常来说具有以下五个特性:
  • 输入:一个算法应以待解决的问题的信息作为输入。
  • 输出:输入对应指令集处理后得到的信息。
  • 可行性:算法是可行的,即算法中的每一条指令都是可以实现的,均能在有限的时间内完成。
  • 有穷性:算法执行的指令个数是有限的,每个指令又是在有限时间内完成的,因此整个算法也是在有限时间内可以结束的。
  • 确定性:算法对于特定的合法输入,其对应的输出是唯一的。即当算法从一个特定输入开始,多次执行同一指令集结果总是相同的。

    简单的说,算法就是计算机解题的过程。

    在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法。

    前者是算法的逻辑形式,后者是算法的代码形式。


2、举例:如何求0+1+2+3+…10000=?

算法1:依次相加 while do-while for

算法2:高斯解法:首尾相加*50 (1+10000)

10000/2 100

101/2

算法3:使用递归实现: sum(100) = sum(99)+100 sum(99)= sum(98)+99 … sum(2) = sum(1)+2 sum(1) &#



版权声明:本文为Anna4原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。