如何提高编程的思维逻辑能力
2个回答
展开全部
想提高编程的思维能力就要把握好编程思维的这四点:
把握好“理解问题——找出路径”的高效思维过程,它由“分解—抽象—模式识别—算法”这四个步骤。
1、分解,简单来说,就是“把复杂的大问题,拆解成更可执行、更好理解的小步骤”,它能锻炼我们拆解复杂问题的能力。
2、“抽象思维”能力,它能锻炼我们聚焦重点,忽略无用信息,并抽取关键信息的能力。
3、模式识别,就是“如何找出相似的模式,并高效率解决细分问题”,它能极大锻炼我们规律整合的能力。
4、算法,就是根据之前一系列对于问题的理解,设计一步一步的解决路径,并解决整个问题。
反复训练提升这 4 项重要的思维模式,建立一种真正“抗打”的认知思维和学习能力,酒客快速提高了!
2017-05-09 · 让每个孩子都能正常讲话,是我们最大的心愿
阳光语言矫正学校
1992年开始语音病理学研究,北京、上海 、长春设有校区,功能性构音障碍、腭裂语音障碍、听力言语障碍、语言发育迟缓、口吃等多个语音矫正和训练项目,对大舌头 口吃等各种语言障碍有数万例矫正经验
向TA提问
关注
展开全部
首先,建议要精读或者精学三门课程:离散数学 数据结构 编译原理。所谓的精读或者精学,不是说简简单单为了应付考试的学习,而是对每个细节每项内容都穷究其理,融汇贯通。精学这3门课程的本身就是逻辑思维和抽象思维能力的很好锻炼。其中前两门课程,其知识本身在未来也有大用,编译原理本身作为一般程序员用到的机会可能不多,但是学编译原理真的很锻炼逻辑思维和抽象思维能力。
其次,可以多玩一些抽象类,数字类的游戏,例如数独。
再次,多精读一些好书,尤其是设计类的书,推荐《设计模式》,边读要边思考,不是灌输式的读书,是思辨式得读书
再再次,花大量时间去优化代码,不管是自己的还是别人的。用不同的方式,不同的思路,不同的算法,不同的结构去改写和优化代码。尤其是算法类的代码,系统控制类的代码。
很少有人能单单通过所谓“逻辑思维”从复杂问题快速找到抽象的,如果有这样的人,他的经验,工具,方法和直觉通常起到比逻辑思维更重要的作用。写代码需要逻辑思维,但解决复杂问题更需要理解分析,写代码只是解决问题比较靠后的步骤。所以不急着写代码,也不急着找抽象,先试着理解问题本身,而不是下意识地想把问题套进已知的,熟悉或不熟悉的工具,那样是本末倒置的。
多数情况下,只要有一点耐心,理解问题并不难,这个时候既是逻辑推演,更是探索发现。
比如交通灯控制,是一个不那么简单的问题,不急着找模型,也不急着编程,想一想一个交通灯有几种状态,一组交通灯有几种状态,不同的路口的交通灯有几种状态,把具体的例子列出来,你大概会有一个概念:那就是你要写交通灯管理程序本质就是一个状态管理的过程。这个时候还没有得到适合编程的抽象,但你已经积累了对输入和输出的认识,接下来可以写一点简单代码或者伪代码,把各种case的逻辑都单独实现一遍,把各种状态之间的转换的条件和过程勾勒出来,从这里观察他们在数据和流程上有没有共性,有没有可以优化的余地,这样你就慢慢地找到你要的抽象,然后看看你熟悉的工具(比如编程语言)提供了什么样的数据结构和编程范式最适合去实现这样的抽象。
把问题具体化,寻找具体的输入和输出,具体的状态变化。具体化了的问题更容易分解,分解以后的问题更容易分析;先分析再归纳比不分析直接归纳更有操作性,你的“逻辑思维”才能派上用场。
其次,可以多玩一些抽象类,数字类的游戏,例如数独。
再次,多精读一些好书,尤其是设计类的书,推荐《设计模式》,边读要边思考,不是灌输式的读书,是思辨式得读书
再再次,花大量时间去优化代码,不管是自己的还是别人的。用不同的方式,不同的思路,不同的算法,不同的结构去改写和优化代码。尤其是算法类的代码,系统控制类的代码。
很少有人能单单通过所谓“逻辑思维”从复杂问题快速找到抽象的,如果有这样的人,他的经验,工具,方法和直觉通常起到比逻辑思维更重要的作用。写代码需要逻辑思维,但解决复杂问题更需要理解分析,写代码只是解决问题比较靠后的步骤。所以不急着写代码,也不急着找抽象,先试着理解问题本身,而不是下意识地想把问题套进已知的,熟悉或不熟悉的工具,那样是本末倒置的。
多数情况下,只要有一点耐心,理解问题并不难,这个时候既是逻辑推演,更是探索发现。
比如交通灯控制,是一个不那么简单的问题,不急着找模型,也不急着编程,想一想一个交通灯有几种状态,一组交通灯有几种状态,不同的路口的交通灯有几种状态,把具体的例子列出来,你大概会有一个概念:那就是你要写交通灯管理程序本质就是一个状态管理的过程。这个时候还没有得到适合编程的抽象,但你已经积累了对输入和输出的认识,接下来可以写一点简单代码或者伪代码,把各种case的逻辑都单独实现一遍,把各种状态之间的转换的条件和过程勾勒出来,从这里观察他们在数据和流程上有没有共性,有没有可以优化的余地,这样你就慢慢地找到你要的抽象,然后看看你熟悉的工具(比如编程语言)提供了什么样的数据结构和编程范式最适合去实现这样的抽象。
把问题具体化,寻找具体的输入和输出,具体的状态变化。具体化了的问题更容易分解,分解以后的问题更容易分析;先分析再归纳比不分析直接归纳更有操作性,你的“逻辑思维”才能派上用场。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询