首页 > 代码库 > 数据结构之算法

数据结构之算法

算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。

算法是需要单独讲解的,在数据结构中谈到算法,是为了帮助理解好数据结构,并不会详谈算法的方方面面。

两种算法的比较

1+2+3+.....+100

算法1:

#include <stdio.h>

int main(void) {
    int i, sum = 0, n = 100;
	for(i = 1; i <= n; i++){
	    sum += i;
	}
	printf("%d", sum);
	return 0;
}

 算法2(高斯的算法):

#include <stdio.h>

int main(void) {
    int i, sum = 0, n = 100;
	sum = (1+n)*n/2;
	printf("%d", sum);
	return 0;
}

显然高斯的算法厉害很多。

算法的特性

五个基本特性:输入、输出、有穷性、确定性和可行性

1、输入输出

  算法具有林哥或多个输入,但至少有一个或多个输出,输出的形式可以是打印、返回一个或多个值。

2、有穷性

  算法在指定邮箱的步骤之后,自动结束而不会出现无限循环,且每个步骤在可接受的时间内完成。

3、确定性

  算法的每一步骤都具有确定的含义,不会出现二义性。

4、可行性

  算法的每一步都必须是可行的。

 

数据结构之算法