数据结构之算法

Posted 落花无意溪自流

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构之算法相关的知识,希望对你有一定的参考价值。

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

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

两种算法的比较

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、可行性

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

 

以上是关于数据结构之算法的主要内容,如果未能解决你的问题,请参考以下文章

有人可以解释啥是 SVN 平分算法吗?理论上和通过代码片段[重复]

片段(Java) | 机试题+算法思路+考点+代码解析 2023

Java基础入门五)之方法以及递归算法

面向面试编程代码片段之GC

前端面试题之手写promise

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情