编程感觉相当艰难的时候

实质上,编程感觉进展缓慢,Leetcode对着题目只能干瞪眼,一问三不知,一个非常重要的原因就是,编程取决于三块重要的基础,而作为像我这样的入门新手来说,每一块都不稳固。

 

其中之一就是算法,算法,个人理解就是如何解决问题的一个方法,是一个存在于脑海中的抽象的东西,这个无疑是解决问题最为重要的一块了。

比如说有一个数列如何把里面的数字从小到大排序,我就可以有以下的想法:把其中最小的数挑选出来放在第一个,然后把剩下的数中最小的数挑选出来放在第二个,以此类推,就能完成一个不错的排序算法。研究算法可以多在纸上比划一下,如果剩下两个基础可以的话则实现出来,当然了还是需要看一两本书,学学前人的经验的。个人目前学了   国内教材 《算法设计与分析》屈婉玲

 

其中之二是数据结构,在有了清晰地算法之后,如何用一种舒适的方式处理数据,就需要对数据有一种特别的设计,比如栈和队列就是两个最经典的数据结构,此外还有树,链表,图等等等等。在这里,其中一块是数学,另外一块则和第三个有关系。

关于数据结构的数学逻辑一块儿其实值得看一下离散数学,这也是一个脑袋里想一想,纸上比划一下的东西。而具体的实现与编程语言有关,C,C++,java的数据结构应该都算容易借到的,各取所需吧!

 

最后一块当然就是程序语言了,不同的程序语言基本的东西差不多,然而还是有各自的特点。个人认为,想要比较轻松的入门从python开始,想要扎实的需要编程技术再学好C,《python基础教程》这本书就不错,网上也有很多教学资料。然后在Leetcode上多加练习,程序语言比较熟练,还能巩固数据结构与算法,应该能在编程上有一个飞跃。

 

总结一下:手法与工具上需要学习编程语言以及语言下数据结构的具体实现;而思想上需要学习数据结构的含义与逻辑以及算法设计。 找一些教科书来阅读,然后多加以练习。这三块都是有难点的,不过慢慢来,日积月累,总是会有突破的!

猜你喜欢

转载自blog.csdn.net/weixin_42405231/article/details/82383244