《计算思维方式》摘要以及书评

本文阐述了编程解题的通用思维流程:“观察-联想-变换”。通过观察收集信息,联想已有知识,变换问题形态,最终高效解决问题。强调了整体思考、逆向思维、构造性思维的重要性。

 

“编程解题的一般思维方法或过程,可以概述为‘观察-联想-变换’, 通过对问题的观察,认识;然后通过联想,寻找问题同已有知识和经验之间的联系;最后通过变换,转为另一个或几个易于解决的新问题,最终达到解决问题的目的”

----- 在程序查找bug 或实现一个需求的时候,经常都是这样的;这个过程中每个步骤都很重要;

      观察,可以针对某个bug,或问题,首先需要log,或断点观察更多的信息,得到“充分的已知条件”

       不同的人对一个问题的着手点可能时不一样的,这个不一样,就体现在“联想已有知识和经验之间的联系”。针对于此,程序工作人员,平时就应该多看代码,宏观理解某个项目的实现机制,来龙去脉。另外,注意积累专业知识。这样,对于出现的新的问题,联想到的更多的相关性,以及更准确的相关性。对于后续的着手点会很有帮助。这个步骤,也可以注意“局部性原理” 以及 控制变量, 对比的方法

      最后,变换解决问题的工程,往往需要查找一些现有的技术方案,针对项目实际情况,做取舍。“君子性非异也,善假于物也” 借鉴一些极度相关的解决方案,会让你的方法更加有效。

 

一 观察

“在‘观察’上,我们提供了整体与部分的思想,包括

1)整体实现的关键是准确地应用必要条件,

2)整体思考的一个重要角度时‘守恒’,寻找变换中的不变量,

3)提高整体实现效率的途径时‘充分利用有效信息’和‘压缩冗余信息’

4) 改善整体的性能状态的基础是处理好细节问题。”

 -----充分利用有效信息,可以避免冗余的计算,提高效率。而有效信息的获取,可以通过中间变量的log,存储。 比如很经典的我们在字母匹配算法中,使用子序列来匹配,可以更快的达到效果。 处理好细节,也是很重要,比如我们在update 时候,控制好time间隔,可以对效率有不少的提升。

二  联想

“在联想上,我们提出了逆向思维和猜想与试验,分析‘执果索因’ ‘由反及正’的逆向思维;探讨了四种联想方式:相似联想,归纳联想,数形结合,和回到起点重新联想。指出猜想是在深入分析问题的基础上,不懈探索,反复修正的过程。”

----面对多元化的世界,我们总会有“答案意识过强”的状态,即:对答案进行快速猜想,迅速沿那条道兴高采烈的出发,却没有在意先前猜想的正确性和全面性。著名数学家华罗庚说过:善于退,退到原始而不失重要性的地方,是学好数学的一个诀窍。 需要回到初步的分析,展开丰富的联想和严谨的理性思考。这些在处理bug的时候显得异常重要,对于新手,对问题的方向把控通常并不是很准确。容易陷入到一个地方而解决不了。很容易损伤自己的自信心。压力也会越来越大。这个时候很需要果断的“回到起点”

 

三  变换

“在变换上,我们提出了 构造性思维,目标转化思想,分类与分治思想。构造性思维包括建立模型的机理分析法和统计分析法;建模过程注重应用序关系; 选择模型时必须权衡 时间复杂度,空间复杂度,编程复杂度和思维复杂度。目标转化思想包括降维,升维”

-----这里,降维,升维,是用的比较多的思想了。前面构造性思维,一般问题,大致的方向方法也都有前人做过可以借鉴,常用的数学模型,以及数据结构需要知道他们的优劣,这样构造的时候才会取舍得当。降维,即时在处理问题的时候,先做简化处理。“天下难事,必作于易”,尤其是处理一些bug,需要删除一些变量,单独看一个变量的影响。比如处理碰撞问题,就用两个三角形来做检测判断。通过简化一些干扰相,更容易发现问题的原因。 类似表达有 “一般到特殊,抽象到具体,复杂数据结构降为简单数据结果”。 而升维,则是一种让步简化的思想,遇到难以解决的问题,可以通过条件放松,给以适当的假设,将问题求解的范围扩大。最后剔除扩大部分,还原问题的解。

 

书目:

《程序设计中常用的计算思维方式》 吴文虎,王建德

 

 

“”

 

 

标题基于SpringBoot的马术俱乐部管理系统设计与实现AI更换标题第1章引言介绍马术俱乐部管理系统的研究背景、意义、国内外研究现状、论文方法及创新点。1.1研究背景与意义阐述马术俱乐部管理系统对提升俱乐部管理效率的重要性。1.2国内外研究现状分析国内外马术俱乐部管理系统的发展现状及存在的问题。1.3研究方法以及创新点概述本文采用的研究方法,包括SpringBoot框架的应用,以及系统的创新点。第2章相关理论总结评述与马术俱乐部管理系统相关的现有理论。2.1SpringBoot框架理论介绍SpringBoot框架的基本原理、特点及其在Web开发中的应用。2.2数据库设计理论阐述数据库设计的基本原则、方法以及在管理系统中的应用。2.3马术俱乐部管理理论概述马术俱乐部管理的基本理论,包括会员管理、课程安排等。第3章系统设计详细描述马术俱乐部管理系统的设计方案,包括架构设计、功能模块设计等。3.1系统架构设计给出系统的整体架构,包括前端、后端数据库的交互方式。3.2功能模块设计详细介绍系统的各个功能模块,如会员管理、课程管理、预约管理等。3.3数据库设计阐述数据库的设计方案,包括表结构、字段设计以及数据关系。第4章系统实现介绍马术俱乐部管理系统的实现过程,包括开发环境、编码实现等。4.1开发环境搭建介绍系统开发所需的环境,包括操作系统、开发工具等。4.2编码实现详细介绍系统各个功能模块的编码实现过程。4.3系统测试与调试阐述系统的测试方法、测试用例以及调试过程。第5章系统应用与分析呈现马术俱乐部管理系统的应用效果,并进行性能分析。5.1系统应用情况介绍系统在马术俱乐部中的实际应用情况。5.2系统性能分析从响应时间、并发处理能力等方面对系统性能进行分析。5.3用户反馈与改进收集用户反馈,提出系统改进建议。第6章结论与展望总结马术俱乐部管理系统的设计与实现成果,并展望未来的研究
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不负初心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值