我是靠谱客的博主 等待小笼包,最近开发中收集的这篇文章主要介绍思维的广度与深度,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  最近在学习算法的过程中接触到了深度搜索和广度搜索、二叉树、图等概念,晚上休息之前也阅读了一些关于思维方式的书籍。对比之下,我发现算法中的很多思想比如分治、递归等方法和逻辑思考的书中提到的金字塔原理、逻辑树等方法在本质上一样的。下面将从广度和深度两个方面分析。

1.思维的广度

  学习过算法的人应该熟悉广度搜索,我们对图进行遍历时,比如从开始节点1开始遍历,将和1相邻的节点2, 4,5依次加入队列中。相邻节点添加完毕之后,然后弹出第一个加入的节点,比如节点2。将与节点2相邻的节点1, 3, 4经判断是否访问过之后决定是否加入队列中,没有被访问过的节点3加入队列中。后面过程就不详述了,感兴趣的人可以参考博客图形的遍历方法之先深后广法。
  我们的思维是否也存在广度搜索呢?答案是肯定的,我们在思考问题的时候有些时候会考虑不全,导致一些不可预知的结果。举个例子,我们编程时如果忽略了边界条件的判断,那么可能会造成什么结果?如果程序使用者正常输入参考还好,如果他不按套路出牌,比如你的程序中参数要求是正整数,他给你传一个负数,那岂不是要报错吗?这是程序员比较熟悉的一个小例子,我们在日常生活中如果思维的广度不够,也可能导致很多麻烦,比如下午你要求参加一个很重要的会议,但是换里慌张结果忘记了拿重要的会议材料,结果会怎么样?
  逻辑思考的书中为了避免这种情况的发生提出了很多方法,麦肯锡公司提出的MECE原则(完全穷尽,互不重复)就是一个非常好的工具,这个原则可以帮助我们思考我们在提出解决问题的各个情况时,判断是否有遗漏的情况。除了原则之外,还有一些框架是非常好的,这些框架符合MECE原则,但是又适合于特定的情况,下面给出几个我认为不错的框架。

1.1.市场定位的3C框架

  我是一个工科生,一开始对于这些经管的东西很不感冒。认为这些东西没什么用。后来我工作以后发现,如果想要作对事情,我们必须想的很全面。这个3C框架是从顾客(Custom)、竞争对手(Competitor)、公司(Company)三个方面来分析各自的优劣势,从而确定自己的目标定位。如果是我们自己使用的话,公司(Company)就可以用我们自身来代替。我们可以用这个框架来分析自己和别人比如同事之间的优劣势分析自己对于老板的需求是否能够满足,进而确立自己的改进方向。这么一分析,相信大家一定会对这个框架有新的认识,工具就是工具,不要受它原有功能的影响,只要能够找到自己的需求点就可以结合起来使用。

1.2.市场营销的4P框架

  4P 分别是产品( product) 价格( price) 地点( place) 促销( promotion) 。看上去和自己关系不大,我又不是卖东西的。用它有什么用?我们将产品换成自己的技能、价格就是自己的工资、地点换成找工作的地点,促销换成使用什么手段比如网络投简历、找人推荐、霸王面等等。只要我们换个角度思考一下,我们生活在这个社会中,大家无时无刻不在进行销售工作。销售自己的技能换取工资就是一个很好的例子。

1.3.BCG决策矩阵

  这个框架是一个2X2的矩阵,当然也可以n X n都可以,取决于自己的需求。这个框架的用途主要是用于进行选择和决策的。比如横轴是时间紧急性,纵轴是重要性。就可以分成四个区间,那么将我们要办的事情分别放入其中就可以让自己轻松的进行决策。

2.思维的深度

  在算法中有深度优先遍历,我们的思维方面也同样存在深度思维。既要有广度也要有很深度,有广度为了是让我们不要走错方向,选择一条对的路,思维要有深度,是让我们能够在自己选择的道路上走的越来越远,让自己变得更加专业。下面提出几个感觉不错的框架。

2.1.原因分析框架逻辑树

  这个框架能够将我们想到的各种情况进行汇总,不断的像二叉树一样由跟节点分出左右子树,进而扩展成一棵逻辑树。我们对于分出的每棵子树由根节点向下不断的反问why,就可以将根节点的问题,通过反问分解为左右子树,对左右子树根节点不断的反问why,我们又可以不断的分解。最终我们就可以找到问不下去的那个叶子节点,从很多的叶子节点中通过BCG决策矩阵选择一个最重要的原因,就是根本原因。

2.2.假说验证框架是非树

  找到问题的根本原因以后,我们根据这个根本原因寻找解决问题的各种方案、在寻找解决方案时可以使用头脑风暴、思维导图、九项检核表法、奔驰法去发散思考可能解决这个问题的各种解决办法。确定好解决方案以后,将其生成一棵树,我们从根节点开始对每个节点进行判断该方法能否解决该节点问题。如果不能给出Yes的答案,那么就需要进行实地调查,去现场收集资料。收集完毕以后,再分析,最后给出Yes或者No的结果。

2.3优先顺序框架QCD

  当我们接到了领导给安排的很多任务时,我们先做哪一个、后做哪一个?还是我们拍脑门来决定?在实践的工作中可以使用优先顺序框架QCD框架来安排工作,Q-品质、C-成本、D-交期。我们应该根据领导对于交代工作的品质要求、以及他给我们安排的人员、项目的截止日期综合来决定到底应该先做哪个。职场中如果想要把工作做好,绝对不能靠猜或者不能单纯靠猜,如果猜测了以后,一定要求找老板进行当面的确认即验证。假设之后一定要验证,否则非常容易出错。

2.4工作计划框架5W1H

  我们在计划做一件事情时,一定要思考这件事情的目的(Why)是什么?达到的目标(What)是什么?怎么做(How)才能达到呢?在什么(Where)地点?什么时间(When)?由谁(Who)来做呢?对于达到什么目标以及目标的合理性与否可以参考SMART原则。
  1. 目标必须是具体的(Specific)
  2. 目标必须是可以衡量的(Measurable)
  3. 目标必须是可以达到的(Attainable)
  4. 目标必须和其他目标具有相关性(Relevant)
  5. 目标必须具有明确的截止期限(Time-based)

3.总结

  框架只是工具,最终其决定性作用的还是我们的思维方式。在思考问题时分别从广度和深度两个方面来进行思考,思考过程中使用框架来帮助我们更好的进行思考,这才是框架的意义所在。很多人不用框架也可以思考,但是为了快速、准确的解决问题,推荐使用框架来辅助我们思考问题、解决问题。
  

最后

以上就是等待小笼包为你收集整理的思维的广度与深度的全部内容,希望文章能够帮你解决思维的广度与深度所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部