听起来高大上的“算法” , 其实一点也不难学!算法太重要了“人工智能” , “机器学习” , “大数据” , 这些越来越常听到的字眼 , 背后其实都是一个个“算法” 。
【一文读懂,“算法”究竟是个啥?】本专栏用最简洁的语言和逻辑 , 脱离编程语言的束缚 , 在最短时间内 , 从算法概念/程序结构/数据结构/算法思想/应用方法这五个方面 , 跟您一起 , 轻松地理解算法知识 , 掌握算法思维 。
诸多高新科技 , 似乎都离不开“算法”的“加持” 。
科学家 / 工程师 / 技术人员 , 现在如果不懂点算法 , 都不太好意思了 。
算法其实很容易听着这么高大上的“算法”其实一点也不难学!
为啥讲算法的书却很难看懂?
就是讲得太复杂了么 , 不同编程语言还都不一样 。
专栏特点1. 语言和逻辑极简 , 化复杂为通俗易懂 , 极速掌握;
2. 不使用编程语言!是的 , 这才是算法入门的最速方法;
3. 直击算法思维的核心点 , 不在次要知识上浪费时间 。
文章插图
什么是“算法”算法 , 一看字面就知道 , 肯定是“计算方法”的简称啦 , 特指“计算机的计算方法” , 所以 , 算法是由电脑程序来实现的 。
算法 , 英文叫Algorithm , 就是为了让电脑解决一个问题而设计出来的一套计算方法 , 这套计算方法的设计是依靠“数学模型”的建立 。
也就是说 , 程序员在设计算法之前 , 会将实际问题理解分析 , 归纳为一个“具体的数学问题” 。
文章插图
算法是解决问题的计算方法
算法有这么几个特征1 确定
算法的每一个步骤都有“明确的意义” , 对于算法结果的预期也是明确的 。
2 有穷
算法不能一直算 , 停不下来是不行的;要有一个明确的结束条件 , 要不然算到“天荒地老”还有什么意义呢?
3 可行
有个笑话说一个人面试会计师 , 算数特别快瞬间出结果 , 但是就是算得不对 。
4 输入输出
算法就是用来解决问题的 , 问题的来源就是输入 , 问题的结果就是输出 。
文章插图
再复杂的算法也是由一个个小算法组合成的
怎么设计一个算法程序呢算法有三个要素——
数学模型 , 输入输出方法 , 算法步骤 。
文章插图
所以说 , 怎么设计一个算法呢?
首先 , 先对要解决的问题建立一个数学模型 , 把原问题化为数学问题;
然后 , 将问题的“已知条件”化为“数据”输入到数学模型中;
再然后 , 通过对输入一步一步的转化/处理/计算 , 得到结果;
最后 , 把结果按照希望的形式 , 输出出来 。
举个例子吧比如我们要解决一个问题——班级里有30个同学 , 我们现在知道他们的姓名和考试分数 , 比如小红90分 , 小刚97分 , 小明60分等等 , 求班级里面哪位同学成绩最好?
文章插图
谁的成绩最好呢?
那么我们按照上面的步骤来设计一个小算法吧 。
1 把原问题转化为数学问题
求30个成绩值中的最大值及对应的姓名;
2 已知条件化为输入数据
依次输入30个名字和30个成绩值;(其中名字的数据类型为字符串 , 成绩值的数据类型为整数型 , 关于数据类型我们将在后面详细讲解)
3 分步计算
这是一个典型的求最大值的问题 , 方法很多 , 这里举一种方法:
3-1 取出第1个同学和第2个同学的姓名和成绩 , 比较大小 , 将那个较大的成绩值储存在一个位置 , 这个位置我们给他起个名字 , 就叫<
推荐阅读
- “粗茶淡饭”饱含饮食科学
- 安溪百岁寿星爱喝茶冠誉“茶寿星”
- 喝绿茶勿贪 谨防“过犹不及”
- 看了这一文,你可以彻底认识锂电池的使用了
- HR:“你期望薪资多少?”“想听真话?”
- 为什么国内汽油里少了“清净剂”?
- 夏天手机经常“发烧”?原来是这些原因造成的!可有破解之法?
- 乡村游恢复92%!清明小长假“乡村+体验式”旅游持续走红
- “生姜泡红茶”减肥不成反惹痘
- Switch|联手Switch首创“全家游戏空间”!理想L9后排游戏馋哭小朋友