当前位置: 首页 > news >正文

生活中的算法的实际举例_生活中的算法

这人不紧不慢,伸出手来说道:“神仙大人,我别的什么也不要,就只要您老刚才点石成金的那根手指头……。”——来自“点石成金”的寓言故事。

点石成金的故事,很多人的理解是贪与不贪。如果能换一个角度思考,可以看出人们的观点,对于金子本身来说,更重要的是点石成金的方法。而对于问题解决的方法来说,我们还应当进一步关注产生方法的方法,也就是算法。这是在中、小学教育的信息科技课程中强调生活算法的理由之一。

所谓算法,在不同的范畴有着不同的定义。数学是指计算、运算的方法,计算机科学中的主要是指计算机程序的方法与步骤的一般性法则。而面对基础教育的大多数学生来说,信息技术课不仅是计算机课,不再是二十年前单纯学习计算机语言、学习编程的任务。课程是一种广泛意义上的通识教育,因此不能仅仅停留在计算机技术的层级上。所以,在课程中强调“生活算法”的意义是,既强调生活中问题的广泛性,也要说明这里的“算法”不仅仅是程序设计层面。应当面对生活中的问题解决以及问题解决的一般性规则。

在生活中,我们会随时遇到各种各样的问题,面对各种各样的事情。从小的事情到大的事情,从简单的事情到复杂的事情,从容易解决的事情到感觉困难的事情……,实在是太多了。人们面对的每一件事情、每一个问题,总会有解决的办法。许多所谓无法解决的问题往往是因为这类问题暂时还没有找到“解”,而不是永远无法解决。

面对生活中的大大小小的问题,每人都有自己喜欢的解决方法,寻求着属于自己的“解”。每人内心深处都会有着寻找“解”的方法——这就是算法,生活中的算法。

面对问题想到了解决方法就会有“生活算法”。只是有些人非常清楚自己是如何找到解决办法的,而有些人还没有意识到这点。

其实生活中存在着丰富的“算法”。如同与解数学题中的一题多解与多题一解反映着数学算法一样,生活中的一件事情也会有多种解决方法,多件事情也可能有共同的解决方法。这也是在问题—方法中体现了生活算法的丰富性。有了生活算法就有了解决一类问题的钥匙,利用不同的算法可以从中寻找到更好一些的方法。

每个人都在生活中练历着自己。一点点地积累着经验,一点点成熟。人总是利用自己的经验形成解决同一类问题的方法—这也是一个算法成熟的过程。从方法的积淀到逐步形成算法,再从不同的算法中找到最恰当的解决方法,用最合适的方法解决问题……。这个过程每个人、每天、每时都在经历着。

每个人的生活都是独特的。每个人的生活过程、遇到的问题、事情之间会有相似之处,也会存在着更多的不同。相似的问题在不同的环境中,解决的方法会大相径庭。这使得我们在每次遇到“老”问题时,也不应完全照搬上一次的解决方法。需要我们坐下来重新思考,重新认识、分析问题。在仔细的思考中寻找最恰当的解决方法。我们不能仅凭经验来办事,因为相同的计算方法在不同的环境中产生出了不同的解决方法——我们经常把这个叫做“随机应变”。有时,不同的算法也可能会因为环境的不同、视角的不同形成相同的解决方法——我们经常把这个称之为“英雄所见略同”。这也是算法的一种体现。

算法存在着,并且影响着人们。可惜的是,很多人虽然在不时用着算法,但并不知道算法在帮助着自己的生活。

生活总是平凡的,许多大事都是由一件件小事组成。认真做好自己身边的每一件小事,会使我们拥有一种更成功的生活。也许我们的头脑不足以记下生活中的每一件小事以及每一件小事的解决方法,但是我们因为自己有了找到方法的

“算法”所以面对曾经的小事会踌躇满专、信心十足。因为有了算法,往往可以解决同一类别的许多事情。有了算法就能够使自己形成一套或者几套解决问题的方法,能够使我们轻松面对许多小事。这将成功生活的重要保证之一。

生活也是复杂的,许多看似简单的事情其实并不简单。这些所谓的“简单”很有可能需要要用非常复杂的方法来解决。在解决这类事情时会常常发现,找到其中的规律会使自己更好地面对问题。

请你设想这样一种常见的状况——“车坏了”。在简单主义者的思考中,问题是非常容易解决:“车子坏了”?!——那送去修不就行了吗?而生活中却经常不是这样简单。

如果你是一位家长,在某天早上,当你带着需要上学的女儿钻进了自己的汽车,却发现车怎么也无法启动了。你会怎么办?

图:车子坏了,需要考虑的问题

你需要在很短时间内思考很多事情:如何修车?女儿如何上学?自己如何上班?晚上如何取车?如何接女儿放学?如何回家?……。这种看似简单的事情在生活中往往很复杂。

生活也是简单的。所谓的复杂往往是由简单构成的。大的、复杂的事情是由小的、简单的事情组合而成。从简单到复杂,象俄罗斯木偶一样,一层层套起来。而我们明确了事情的每一个基本组成环节,就可以找到了问题的关键,可以分析、得出问题的解决步骤。解决复杂问题的基本步骤其实并不复杂,而这些就是算法的基石。

算法能够帮助我们从复杂中找到简单,从简单中发现复杂。明确我们生活的算法,可以使我们更容易发现事情的关键点、找到更适合的解决步骤,选择更合适的方法……。通过对方法与过程的研究,我们完全可以在不同算法的对比中来体会生活中的乐趣。

有些人意识到方法与算法在起着作用,而有些人对此毫无察觉。无论心中的算法是隐藏在思想最深处,还是能够明确地表达出来,它们都确实在发挥着作用,最终使我们得到了方法。

看样子,生活中的人们需要一点儿明确出来的算法。但如何把“生活算法”有什么一般性?如何把它明确出来呢?

相关文章:

  • pyecharts 绘制三维散点图_pyecharts
  • toolbar文本在最右侧_Toolbar中Menu的背景颜色、位置、同时显示文字等设置(亲测)...
  • linux 使用imageio.read 读图片出来为null_经典Linux面试题
  • gifcam使用缩小内存_GifCam怎么用?GifCam使用教程
  • openkruise 缩容_Kubernetes应用管理器OpenKruise
  • arduino as5048工作原理_Arduino 真的可以用来开发产品吗?分享一个电子工程师的Arduino使用心得分享!...
  • jquery 多个文本框赋值_jquery为input赋值方法总结
  • nslookup 包含在那个包中_nslookup详解(name server lookup)( 域名查询)
  • double 去掉小数点_怎么去掉double后面的零0及取得double的小数部分的有效位 | 学步园...
  • 对一个字段赋值默认值_Java入门基础学习,成为一个Java程序员的必备知识
  • adb 重命名_adb无法连接设备?只需要这五步就能解决
  • sklearn中lstm_LSTM的时序应用
  • python中字符串之间的比较_【python】比较字符串中不同的地方
  • 双摄像头另一个有什么用_手机双摄像头为什么有前后和后双两种?各有什么用?...
  • deepin应用分发_Deepin应用商店发布2020年度十佳应用 QQ音乐荣誉上榜
  • php的引用
  • .pyc 想到的一些问题
  • [笔记] php常见简单功能及函数
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • create-react-app做的留言板
  • CSS魔法堂:Absolute Positioning就这个样
  • HomeBrew常规使用教程
  • JavaScript HTML DOM
  • Netty 4.1 源代码学习:线程模型
  • spring-boot List转Page
  • SQLServer之创建显式事务
  • 二维平面内的碰撞检测【一】
  • 翻译:Hystrix - How To Use
  • 关于字符编码你应该知道的事情
  • 近期前端发展计划
  • 京东美团研发面经
  • 如何实现 font-size 的响应式
  • 思考 CSS 架构
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 想写好前端,先练好内功
  • 学习HTTP相关知识笔记
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (二十三)Flask之高频面试点
  • (分布式缓存)Redis持久化
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (四)Android布局类型(线性布局LinearLayout)
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (转)http-server应用
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .NET的微型Web框架 Nancy
  • /etc/sudoers (root权限管理)
  • @Builder用法
  • @EnableWebMvc介绍和使用详细demo
  • @Transactional注解下,循环取序列的值,但得到的值都相同的问题