我如何学习算法?

19 python algorithm

简史:刚刚高中毕业,学到了一点python和C++,没有任何有用的计算机知识的朋友.在我上学期间遇到的任何人中,我可能是最大的书呆子,但没有人真正知道.我认为自己拥有大量的计算机和技术知识,而不是普通人.建造/固定吨计算机,并能够解决我遇到的任何问题.

现在高中已经结束了,我一直在考虑我的职业生涯.在我生命的过去13年里,我一直热爱生活的电脑我决定学习计算机编程,为什么我没有早点开始我不知道,这似乎是我的大错...

做一些研究我得出结论,Python是我应该学习的第一种编程语言,因为它是高级的,比C++和Java更容易理解.我也知道要善于完成我所做的事情,我需要了解更多只有2或3种语言,考虑到一旦我学会了Python的工作方式,主要是语法改变,剩下的就会出现,这似乎不是一个大问题自然.我观看了几个youtube视频,下载了一些书籍pdf,并从这里和那里的一些教程中窥探,以了解该怎么做.

尝试理解语法,创建使用基本功能的小程序并理解它是如何工作的两个星期过去了,我想我已经掌握了它.它分解成我一直在处理的事情(尽管我知道)是输入,输出,循环,函数和其他来自0和1的存储数据和召回数据等等(非常基本的)理念).我已经能够创建小程序,Hangman,文件存储,温度转换,Caeser Cipher解码/编码,Fibonacci序列等等,我可以创建并理解每个工作的方式.

进入2周后,我学到了很多东西.如果我抓住我正在做的事情,那么与未来几年我应该学习的东西相比,什么都没有.在做这些课程的时候,我不会停止,直到我在一本书上做了一个练习问题,这个尴尬会让我花费几个小时,这取决于它的复杂程度.我绝对不会把挑战放在一边,直到它完成,可能非常糟糕,我已经尝试了大多数问题而没有作弊并取得了成功,这使我在经过多次试验和错误后完成某些事情后感到非常自豪.

毕竟我遇到了恶魔,这些算法似乎是高效代码的关键.我似乎无法绕过人们使用数字输出的一些计算机代码,有时甚至是基本功能,我已经能够在一段时间后理解它们但我知道有更复杂的事情要来考虑到我的自我智能,需要复杂代码的功能,实际上伤害了我的大脑.没有生命中的任何人伤害我的大脑......甚至连高中数学课都没有,试图了解人们在那里放的一些东西让我觉得我有一种心理上的不利lol ...我仍然向前走我的手指交叉,理解会随着时间而来.

对不起,如果这很长,我只是希望有人在回答我的问题时考虑所有这些事情.即使通过所有这些缺点,我仍然在努力并继续尝试并擅长这一点,我知道阅读这些教程不会让我有任何好处,除非我能够创造并创造我自己的,了解其他人的程序,所以这引导我一个简单的问题,我可以在一开始就问过.....

我在哪里开始?我一直试图找出如何理解一些开源项目,我如何与经验丰富的程序员合作,向他们学习并帮助他们,但我认为甚至可以通过人们知识的方式来实现这一点.与我相比,我没有可以向我学习的朋友,有人可以帮助我并引导我走向正确的方向.我有很大的动力去擅长编码,任何信息都会非常有帮助.

rab*_*ne9 9

首先......我认为你应该给自己一些时间.学习编程可能是一个漫长的过程.作为第一步,我建议学习编程语言(就像你已经在python中做的那样),并尽可能地学习编程(oo,递归,循环,函数,变量等)的概念.

作为第二步,你应该尝试回答"我究竟想做什么编程?" 这当然是最重要的,当你做图形,当你做DSP应用程序和进行web开发时,它确实是不同的.所以一般学习算法没有特定的目标可能真的很令人沮丧.

因此,最重要的因素可以是耐心和专注,毕竟罗马不是一天建成的......祝你好运


Nor*_*sey 6

我从哪里开始学习算法?

我真的很喜欢Udi Manber的算法导论.与Cormen Leiserson和Rivest等更受欢迎的书籍不同,Manber的书侧重于创造性解决问题以及算法产生的过程.因此,不是阅读其他人发明的算法百科全书,而是对他们来自地球的地方感到困惑,而是学会自己创造算法 - 并且一路上你将重新发明一些你在百科全书中找到的标准算法. .

我认为从长远来看,你会发现这种解决问题的能力比对其他人的算法的百科知识要好得多.