Skip to content

Latest commit

 

History

History
57 lines (39 loc) · 3.75 KB

README-cn.md

File metadata and controls

57 lines (39 loc) · 3.75 KB

v0.1

Stayman Problem-Solving Algorithm

这是一个通用的问题解决算法,主要设计用于技术问题。

[English Edition | 英文版]

热身问题

在我们开始之前,请问自己以下问题。

  • 当面对问题时,您是否曾感到困惑,不知道从哪里开始或如何解决?
  • 您是否认为问题解决是一种可以学习和磨练的技能,还是认为有些人天生就擅长?
  • 在尝试教导他人如何有效解决问题时,特别是在技术领域,您遇到了什么挑战?
  • 您能否回忆起自己成功解决问题的时刻,通过遵循结构化方法或模式?您能否将这种成功应用到其他问题上?为什么或为什么不?

简介

嘿!我整理了这个算法,它主要是关于解决问题的,特别是在技术世界中,但老实说,它对各种问题都有帮助。它就像是解决问题的路线图,无论问题是与技术相关还是其他方面。

我在一个为渴望磨练问题解决技能的新工程师举办的研讨会上提出了这个想法。这个想法是向他们展示,解决问题是一种可以应用于各个领域的技能,不仅仅局限于编码或其他方面。

另外,对于有经验的工程师想要指导新手,但可能没有结构化的方法来做到这一点,这也很有帮助。您知道,那些擅长修复问题但却难以教导他人如何做到的工程师。

然后,我们来谈谈学校。它们教给我们各种东西,但实际上并没有以系统化的方式教导我们如何解决问题。就好像他们更感兴趣的是找到天生的问题解决者,而不是帮助每个人都变得更好。因此,我整理了这个来平衡竞争环境,并帮助那些需要更多问题解决方面指导的人。

该算法使用伪代码编写(主要遵循Ruby语法)。请不要直接看代码。它不会执行,也不会有完美的语义意义。我只是觉得这是表达递归、继承和层次结构等思想的最佳工具。如果您不自信读代码,不用担心。我会一行一行地解释代码。用简单的英语解释。用例子详细说明想法。

目录

  1. 概述
  2. 问题解决的大框架
  3. 识别问题
  4. 构建解决方案
  5. 分解
  6. 设置优先级
  7. 测试和分析
  8. 回顾和沟通
  9. 总结

完整算法代码

在这里您可以找到最终代码。

在工作坊中,我们将以迭代的方式开发这个伪代码,从头开始编写,并逐章扩展。如果您对阅读代码感到自信,可以随时开始阅读。如果不行,您可以简单浏览已完成的代码,而不必担心理解它。

致谢

这个算法的部分灵感来自一系列相关的书籍和公开课程。建议在学习了这个问题解决算法后阅读这些书籍,以获得额外的见解。

下一章 >