【算法】算法是什么
笔记来源书籍:漫画算法:小灰的算法之旅-魏梦舒
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组这样的数,因此可以写为
方式二采用等差数列求和的方式,被称为高斯算法,在数学领域中,算法是用于解决某一类问题的公式和思想。
而计算机科学领域中的算法,本质是一系列程序指令,用于解决特定的运算和逻辑问题。
简单的算法,给出一组整数,找出其中最大的数。
复杂的算法,背包问题,求城市之间最短路径。
2.算法的应用领域
(1)运算
如求两个数的最大公约数; 计算两个超大整数和,如果按正常方式计算肯定会溢出。
(2)查找
(3)排序
电商平台的商品价格排序;学生资料按学号排序。
(4)最优决策
如让AI角色找到迷宫的最佳路线。
算法有好有坏,衡量算法好坏的重要标准有两个:时间复杂度和空间复杂度。
3.数据结构
英文单词:data structure
是数据的组织、管理和存储格式,目的是为了高效的访问和修改数据。
(1)线性结构
包括数组、链表,以及衍生出来的栈、队列、哈希表。
(2)树
如二叉树,衍生出二叉堆
(3)图
可以呈现多对多的关系
(4)其他数据结构
如跳表、哈希链表、位图等等。
不同的算法会选用不同的数据结构。
分类:
算法
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性