【算法】算法是什么

笔记来源书籍:漫画算法:小灰的算法之旅-魏梦舒

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×10000÷2=50005000

方式二采用等差数列求和的方式,被称为高斯算法,在数学领域中,算法是用于解决某一类问题的公式和思想。

而计算机科学领域中的算法,本质是一系列程序指令,用于解决特定的运算和逻辑问题。

简单的算法,给出一组整数,找出其中最大的数。
image

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

2.算法的应用领域

(1)运算

如求两个数的最大公约数; 计算两个超大整数和,如果按正常方式计算肯定会溢出。
image

(2)查找

image

(3)排序

电商平台的商品价格排序;学生资料按学号排序。

(4)最优决策

如让AI角色找到迷宫的最佳路线。
image

算法有好有坏,衡量算法好坏的重要标准有两个:时间复杂度和空间复杂度。

3.数据结构

英文单词:data structure
是数据的组织、管理和存储格式,目的是为了高效的访问和修改数据。

(1)线性结构

包括数组、链表,以及衍生出来的栈、队列、哈希表。
image

(2)树

如二叉树,衍生出二叉堆
image

(3)图

可以呈现多对多的关系
image

(4)其他数据结构

如跳表、哈希链表、位图等等。

不同的算法会选用不同的数据结构。

posted @   植树chen  阅读(467)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
点击右上角即可分享
微信分享提示