师彼长技以助己(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构建实时搜索与推荐系统,…...

鸿蒙 如何将base64的图片保存到相册
把一个base64图片 保存到鸿蒙手机 相册中怎么实现呢? 下面有2中方法 方案一:可以通过安全控件「保存控件(SaveButton)」实现。该控件对应媒体库写入特权。应用集成保存控件后,用户点击该控件,应用会获取1…...

高速公路智能管理系统:构建安全畅通的数字大动脉
随着城市化进程的加速和交通需求的增长,高速公路系统作为城市交通的重要组成部分,正承担着越来越多的交通运输任务。为了提升高速公路的安全性、便捷性和智能化管理水平,高速公路智能管理系统应运而生。本文将深入探讨高速公路智能管理系统的…...

基于Java自习室在线预约系统 的设计与实现
博主介绍: 大家好,本人精通Java、Python、C#、C、C编程语言,同时也熟练掌握微信小程序、Php和Android等技术,能够为大家提供全方位的技术支持和交流。 我有丰富的成品Java、Python、C#毕设项目经验,能够为学生提供各类…...

摄像头校准之白平衡畸变坏点
摄像头校准之白平衡&畸变&坏点 1. 源由2. 校准内容3. 畸变校准一、畸变模型二、校准步骤1. 准备工作2. 特征点检测3. 计算内参数和畸变系数4. 畸变校正 三、验证和优化1. 视觉验证2. 误差评估3. 参数优化 4. 白平衡校准一、白平衡基础二、自动白平衡(AWB&am…...

【C++进阶】模板进阶与仿函数:C++编程中的泛型与函数式编程思想
📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C “ 登神长阶 ” 🤡往期回顾🤡:栈和队列相关知识 🌹🌹期待您的关注 🌹🌹 ❀模板进阶 🧩<&…...

OpenCV之cv::Scalar
在 OpenCV 中,cv::Scalar 是一个模板类,用于表示多通道的值。常用来表示颜色或其他具有多个分量的数据。在图像处理中,cv::Scalar 经常用于指定颜色。 cv::Scalar(255, 255, 255) 具体如何理解,取决于图像的颜色空间:…...

智能合约与身份验证:区块链技术的创新应用
一、引言 区块链,一个近年来备受瞩目的技术名词,已经从最初的数字货币领域扩展到了众多行业。那么,究竟什么是区块链?它为何如此重要?本文将深入剖析区块链技术的原理、应用及未来发展。 二、区块链的基本概念 区块…...

浔川身份证号码查询——浔川python科技社
Python获取身份证信息 公民身份号码是每个公民唯一的、终身不变的身份代码,由公安机关按照公民身份号码国家标准编制。每一个居民只能拥有一个唯一的身份证,它是用于证明持有人身份的一种法定证件。 身份证包含了个人的一些重要信息,比如&am…...

C++的标准容器及其应用
C的标准容器及其应用 数组(array)数组的特征应用实列 前向列表(forward_list)前向列表的特征应用实列 列表(list)列表的特征应用实列 有序映射(map)有序映射的特征应用实列 队列&…...

linux如何部署前端项目和安装nginx
要在Linux上部署前端项目并安装Nginx,你可以按照以下步骤操作: 安装Nginx: sudo apt update sudo apt install nginx 启动Nginx服务: sudo systemctl start nginx 确保Nginx服务开机自启: sudo systemctl enable nginx 部署前端项目,假设前…...