(如数据结构算法题)编程不是难在处理问题的思路,而在用代码将思路描述出来。

Posted aristocracy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(如数据结构算法题)编程不是难在处理问题的思路,而在用代码将思路描述出来。相关的知识,希望对你有一定的参考价值。

初学编程总觉得好简单,不就是加减乘除,或者什么,思路太简单了,就这样这样做就可以了,代码就不用写了,反正这么简单。

其实难就难在,如何用代码这种语言将你的思路书写下来。

写代码会受到很多的限制,你想要这样干,但你要如何让机器这样干。

  编程所要做的唯一一件事就是:拆分。

  拆分一整个件事成为一个个步骤---->流程图。

  拆分流程图中每一个步骤成为更详细的、具体的----->一条条代码。

  所以流程图是人脑中的大逻辑框架,不画出这个大框架,则会在更细节的代码中迷失。

由于拆分出来的一个个细节步骤(每条代码)太过于细碎,人很容易犯错,有时候很容易想当然,于是就会跳过或略过一些步骤,导致机器执行not as expected. 

思考的时候就要把每个细节都拆分出来,想好每一步细节之后,每个细节要与代码对应好。

像C这种面向过程的语言,有时候调试经常是调整一些代码的先后执行顺序,代码就正常运行了,这就是在思考细节的时候想当然造成的,没思考清楚就跑去写代码,导致代码的逻辑越来越混乱。

依靠调试来解决问题是很不好的习惯,会给你的思维漏洞提供借口,你思维的缜密性难以提高,you will always take your mistakes for granted,你想反正还有调试呢怕什么,但是调试的效果远不如你一次吧框架想清楚,不会把代码逻辑搞得乱七八糟。

  

以上是关于(如数据结构算法题)编程不是难在处理问题的思路,而在用代码将思路描述出来。的主要内容,如果未能解决你的问题,请参考以下文章

常用算法思路分析系列栈和队列高频题集(修改版)

算法研讨会-含有回溯的递归算法设计探讨

写算法题的时候怎么写注释

[算法]2018年阿里巴巴数据研发工程师编程题

编程算法题分析--大数加法

解决算法题的思路汇总