【算法】算法是什么
笔记来源书籍:漫画算法:小灰的算法之旅-魏梦舒
1.算法
英文单词:algorithm
计算1+2+3+4+5+6+7+……+10000的结果。
(1)方式一:
1+2 = 3
3+3 = 6
6+4 = 10
……
(2)方式二:
把1~10000个数字两两分组相加
1+10000 = 10001
1+9999 = 10001
1+9998 = 10001
……
共有10000/2 = 5000组这样的数,因此可以写为
\[(1+10000)\times10000\div2 = 50005000
\]
方式二采用等差数列求和的方式,被称为高斯算法,在数学领域中,算法是用于解决某一类问题的公式和思想。
而计算机科学领域中的算法,本质是一系列程序指令,用于解决特定的运算和逻辑问题。
简单的算法,给出一组整数,找出其中最大的数。

复杂的算法,背包问题,求城市之间最短路径。

2.算法的应用领域
(1)运算
如求两个数的最大公约数; 计算两个超大整数和,如果按正常方式计算肯定会溢出。

(2)查找

(3)排序
电商平台的商品价格排序;学生资料按学号排序。
(4)最优决策
如让AI角色找到迷宫的最佳路线。

算法有好有坏,衡量算法好坏的重要标准有两个:时间复杂度和空间复杂度。
3.数据结构
英文单词:data structure
是数据的组织、管理和存储格式,目的是为了高效的访问和修改数据。
(1)线性结构
包括数组、链表,以及衍生出来的栈、队列、哈希表。

(2)树
如二叉树,衍生出二叉堆

(3)图
可以呈现多对多的关系

(4)其他数据结构
如跳表、哈希链表、位图等等。
不同的算法会选用不同的数据结构。

浙公网安备 33010602011771号