师彼长技以助己(6)递归思维
师彼长技以助己(6)递归思维
递归思维-小游戏
思维小游戏
思维 小游戏:1 玩一个从1或2开始往上加的游戏,谁加到20就赢
如何保证一定赢呢?我们倒推,要先到20的话,谁先到17就赢,如此依次类推20 — 17— 14 —11— 8 — 5 — 2,最后是2,所以关键是2,如果你懂这个游戏规则,谁先到2谁就一定赢
这个小游戏的诀窍就是利用了递归思维,也是接下来我要介绍的最后一个工程思维
递归思维
递归思维与人类思维最大不同在于:做好顶层设计,不断简单重复自己
递推和递归
什么是递推?就是一个个往下推,比如1,2,3…;那递归呢?反过来:…3,2,1;我们人类喜欢递推,从小的开始逐渐增大,而计算机擅长从大的开始往回递归
经典八皇后问题
我们看一个经典的八皇后问题,人类思考方式:放1个,检查,再放一个,检查,再放…所以即便是伟大的数学家高斯按照这样的方法,也只找到了76种(总共有4万多种摆法)。那如果计算机利用递归思想:几毫秒就能找出全部的答案92钟。具体步骤如下:
- 1 假设已经放好了7个,只剩最后1个了,那就在最后一行或一列按个试一遍就行
- 2 利用这个思想处理前面7个逻辑
- 3 当棋盘空的时候,从第1行开始一个个位置试
最后留个思考题,如果游戏规则改成抢40,每次可加的数为1-4
递归应用
公司中管理授权
每一级的领导只要管理好自己的下属即可,至于自己下属如何管理他们的下属,上级不用关心 。只有层层授权才能构建出一个比较大的组织结构。大家知道管理上最糟糕的管理是什么吗?是微观管理,上级规定下级做事的每一个细节(手把手教人写代码,项目负责人为了衡量某员工的工作成果自己去了解项目需求的每一个细节然后来指导员工,接到需求不喜欢用脑子做设计先写程序)
AI自然语言处理的语法分析
今年杭州XX公司的营业额比去年增加了三成。计算机是如何处理的呢?
人的习惯是从最小的语法单元开始学习的,先认字,再组词,然后造句。但是计算分析时候是自顶向下的,它的语法规则常常是这样的: 句子 = 主语 + 谓语部分;主语 = 定语 + 名词短语;定语 = 名词短语/形容词短语;名词短语 = 形容词 + 名词;谓语部分 = 谓语 + 宾语/状语 …
其它应用场景:
- WBS分解和项目工期估算问题
- 网络爬虫问题
- 类似树形菜单具有父子关系数据遍历
- 模拟科学实验
从善如登从恶如崩
俗话说的好:流氓不可怕,就流氓有文化。技术也是如此,技术是没有好坏之分,主要看使用它的人。核技术可以用来造武器毁灭世界,也可以造核电站造福人类。
目前流行的互联网技术也没有好坏之分,主要看使用它的人,但是有区别的是,我们大多数人掌握的技术不足以像核技术那么强大。但是如果没有写好程序或利用做些小恶还是可能的:
-
1写bug : 一个bug引起蝴蝶效应:系统奔溃,客户丢失,公司利润下降,裁员,同事失业,家庭支离破碎。社会动荡不安…(一个bug蝴蝶效应可能过于夸张,但是直接导致公司利益受损,部门努力白费还是有的)一个bug导致火箭发射失败,飞机故障,损失的是他人的生命(历史上就发生过多起)想象下,让你写的航天系统,你自己敢坐上去吗?所以希望工程师们不要被人贴上:写bug你是专业的标签。
-
2大数据善与恶:大数据作用很明显,让人工智能散发出了第二春,还可以帮助政府抓罪犯(用电量分析抓地下毒贩)。但是确实也存在一些人性之恶的地方:比如有些商家可以根据用户的行为来行有条件选择发假货,高仿还是正品;还有机票、商品价格都是分类对待的,一人一价(本人深刻体会到瑞幸咖啡打折券策略)
-
3机器道德观:最典型的自动驾驶汽车为了保护驾驶员,撞死行人怎么解决?相信以后除了自动驾驶,包含医疗诊断、个人护理等方面都会存在道德上的讨论。
-
4 信息安全:个人隐私被窃取,被不法分子利用,更甚者自动驾驶被入侵?智能家居被入侵?想想都可能让大家不寒而栗。
所以成为好的工程师先成为一个好人,否则就成了有文化的流氓了。所以希望大家不要破坏我们这个世界的美好,这个世界已经存在太多不幸,不是嘛?
好了本次工程思维就介绍这了,下一篇我将介绍产品思维和工程思维之间如何互相促进,做到师彼长技以助已。
相关文章:

师彼长技以助己(6)递归思维
师彼长技以助己(6)递归思维 递归思维-小游戏 思维小游戏 思维 小游戏:1 玩一个从1或2开始往上加的游戏,谁加到20就赢 如何保证一定赢呢?我们倒推,要先到20的话,谁先到17就赢,如此…...

Kali Linux 2024.2
Kali Linux 2024.2 版本(t64、GNOME 46 和社区包) 比平常晚了一点,但 Kali 2024.2 来了!延迟是由于实现这一目标的幕后变化所致,这也是人们关注的焦点。社区提供了大量帮助,这次他们不仅添加了新的软件包&…...

【Spine学习08】之短飘,人物头发动效制作思路
上一节说完了跑步的, 这节说头发发型。 基础过程总结: 1.创建骨骼(头发需要在上方加一个总骨骼) 2.创建网格(并绑定黄线) 3.绑定权重(发根位置的顶点赋予更多总骨骼的权重) 4.切换到…...

chatgpt的命令词
人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…...
用python把docx批量转为pdf
为保证转换质量,本文的方法是通过脚本和com技术调用office自带的程序进行转换的,因此需要电脑已经装有office。如果希望不装office也能用,则需要研究OpenXML技术,后面实在闲的慌(退休)再搞。 安装所需库 …...

项目采购管理
目录 1.概述 2.三个子过程 2.1.规划采购管理 2.2.实施采购 2.3.控制采购 2.4.归属过程组 3.应用场景 3.1.十个应用场景 3.2.软件开发项目 3.2.1. 需求识别和分析 3.2.2. 制定采购计划 3.2.3. 发布采购请求 3.2.4. 供应商评估与选择 3.2.5. 合同签订 3.2.6. 采购…...

Elasticsearch 认证模拟题 - 18
一、题目 为一个索引,按要求设置以下 dynamic Mapping 一切 text 类型的字段,类型全部映射成 keyword一切以 int_ 开头命名的字段,类型都设置成 integer 1.1 考点 字段的动态映射 1.2 答案 # 创建索引和索引模板 PUT my_index {"m…...
Python基础-速记笔记
Python的基础数据类型都有哪些? 1、字符串(string)2、布尔类型(bool)3、整数(int) 4、浮点数(float)5、列表(list)6、集合(set)7、元组(tuple)8、字典(dict) 其中不可变类型有: 字符串(string)、布尔类型(bool)、整数(int) 、浮点数(float)、元组(tup…...
青少年编程与数学 01-001开始使用计算机 02课题、计算机操作系统3_3
青少年编程与数学 01-001开始使用计算机 02课题、计算机操作系统3_3 四、Linux操作系统安装(一) 准备工作(二)设置BIOS/UEFI(三) 安装Linux(四)磁盘分区(五)安…...

填表统计预约打卡表单系统(FastAdmin+ThinkPHP+UniApp)
填表统计预约打卡表单系统:一键搞定你的预约与打卡需求 填表统计预约打卡表单系统是一款基于FastAdminThinkPHPUniApp开发的一款集信息填表、预约报名,签到打卡、活动通知、报名投票、班级统计等功能的自定义表单统计小程序。 📝 一、引言…...

IO模型和多路转接
叠甲:以下文章主要是依靠我的实际编码学习中总结出来的经验之谈,求逻辑自洽,不能百分百保证正确,有错误、未定义、不合适的内容请尽情指出! 文章目录 1.IO 概要1.1.IO 低效原因1.2.IO 常见模型1.2.1.阻塞 IO1.2.2.非阻…...

如何完美解决升级 IntelliJ IDEA 最新版之后遇到 Git 记住密码功能失效的问题
🛠️ 如何完美解决升级 IntelliJ IDEA 最新版之后遇到 Git 记住密码功能失效的问题 摘要 在这篇文章中,我们将详细探讨如何解决在升级到 IntelliJ IDEA 最新版(2024.1.3 Ultimate Edition)后遇到的 Git 记住密码功能失效的问题。…...

SpringCloud微服务架构(eureka、nacos、ribbon、feign、gateway等组件的详细介绍和使用)
一、微服务演变 1、单体架构(Monolithic Architecture) 是一种传统的软件架构模式,应用程序的所有功能和组件都集中在一个单一的应用中。 在单体架构中,应用程序通常由一个大型的、单一的代码库组成,其中包含了所有…...
flinksql BUG : flink hologres-cdc source FINISHED
org.apache.flink.runtime.JobException: The failure is not recoverable or the failure does not allow to restart.at org.apache.flink.runtime.executiongraph.failover.flip1.ExecutionFailureHandler...
现代密码学-国密算法
商用密码算法种类 商用密码算法 密码学概念、协议与算法之间的依赖关系 数字签名、证书-公钥密码、散列类算法 消息验证码-对称密码 ,散列类 安全目标与算法之间的关系 机密性--对称密码、公钥密码 完整性--散列类算法 可用性--散列类、公钥密码 真实性--公…...

Postman简介
目录 1.概述 2.诞生背景 3.历史版本 4.安装和卸载 5.菜单和菜单项 6.使用 7.应用场景 8.示例 8.1.简单的GET请求 8.2.POST请求提交数据 8.3.查询参数 9.未来展望 10.总结 1.概述 Postman是一款用于API开发、测试和文档管理的综合性工具。允许开发者和测试人员创建…...

oracle 删除当前用户下所有表
荆轲刺秦王 通常呢 我们将正式环境的 oracle 数据库 导出成 dmp 文件,然后导入到测试环境或者本地环境,期间可能会出现各种问题。那么如何使错误的导入数据全部删除呢。可以这样做: 1. 本地虚拟机启动 oracle 服务 2. sqldeveloper 连接 o…...
探索C嘎嘎的奇妙世界:第二关---C++的输入与输出
1 C的输入与输出: 新生婴儿会以自己独特的方式向这个崭新的世界打招呼,C刚出来后,也算是一个新事物, 那C是否也应该向这个美好的世界来声问候呢?我们来看下C是如何来实现问候的呢? 在 C的不断发展中,出现了许多新的头…...

实现思路:Vue 子组件高度不固定下实现瀑布流布局
实现思路:Vue 子组件高度不固定下实现瀑布流布局 一、瀑布流布局基础实现原理 在深入解说不定高度子组件的瀑布流如何实现之前,先大体说一下子组件高度固定已知的这种实现原理: 有一个已知组件高度的数组。定义好这个瀑布流的列数ÿ…...
构建实时搜索与推荐系统:Elasticsearch与业务结合
在当今这个信息爆炸的时代,搜索引擎和推荐系统已成为我们日常生活中不可或缺的一部分。它们不仅帮助我们快速找到所需信息,还根据我们的喜好推荐相关内容,提升了用户体验。本文将探讨如何使用Elasticsearch构建实时搜索与推荐系统,…...

XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...

第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...

黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...

什么是VR全景技术
VR全景技术,全称为虚拟现实全景技术,是通过计算机图像模拟生成三维空间中的虚拟世界,使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验,结合图文、3D、音视频等多媒体元素…...