如何学习算法?

2024-04-24 19:47:51 发布

您现在位置:Python中文网/ 问答频道 /正文

简史:刚毕业的时候,学了一些Python和C++,没有任何有帮助的计算机知识。在我上学时遇到的人中,我可能是最大的书呆子,但没人真正知道。我认为自己在计算机和技术方面比一般人有着丰富的知识。建造/修复了大量的计算机,并且能够解决我遇到的几乎所有问题。

现在高中毕业了,我真的一直在考虑我的职业。在过去的13年里,我决定发挥我的能力,努力学习计算机编程,为什么我不早点开始我不知道,这对我来说似乎是个大错误。。。

Python是我应该学习的第一种编程语言,因为它是高水平的,更容易理解C++和java。我也知道,要想做好我所做的工作,我需要知道更多的东西,然后只有2或3种语言,这似乎不是一个大问题,考虑到一旦我学会了Python的工作方式,主要是语法改变,其余的自然会来。我看了几段youtube视频,下载了几本pdf格式的书,还到处看了一些教程,想知道该怎么做。

整整两周过去了,我试着去理解语法,创建使用基本函数的小程序,并理解它是如何工作的,我想我已经掌握了窍门。它被分解成我一直在处理的事情(虽然我知道)是,输入、输出、循环、函数和其他从0和1的数据存储和调用中派生出来的东西,等等(一个非常基本的想法)。我已经能够创建小程序,Hangman,文件存储,温度转换,Caeser密码解码/编码,Fibonacci序列等,我可以创建和理解每个工作。

两周后,我学到了很多。如果我能控制住自己的行为,在未来的几年里,我应该学会什么,但与之相比,什么也没有。在做这些程序的时候,我不会停下来,直到我在一本书上做了一个练习题,这就够让我尴尬的了,要看它的复杂程度,我得花上几个小时。我绝对不会放弃挑战,直到它完成,这可能是非常消耗,我尝试了大多数问题没有作弊,并取得了成功,这使我感到非常自豪,我完成了一些东西后,经过多次尝试和错误。

在这一切之后,我遇到了恶魔,算法似乎是高效代码的关键。我似乎无法把自己的脑袋套在人们用数字写出来的一些计算机代码上,有时甚至连基本功能,过了一段时间我都能理解它们,但我知道还有很多更复杂的事情要发生,考虑到我的自知之明,需要复杂代码的功能,实际上伤害了我的大脑。生活中没有什么伤害过我的大脑。。。。。。。即使是高中的数学课,试着去理解一些人们放在那里的东西,让我觉得我有一个心理上的劣势,哈哈。。。我仍然向前走着,交叉着手指,相信理解会随着时间而来。

对不起,如果时间太长,我只希望有人在回答我的问题时考虑到所有这些。即使经历了所有这些不利因素,我仍然在努力克服并继续努力做好这方面的工作,我知道阅读这些教程不会让我有任何好处,除非我能变得有创造力,自己制作,理解其他人的程序,所以这让我想到了一个简单的问题,我可以在一开始就提出这个问题。。。。。

我从哪里开始? 我一直在试图了解如何理解一些开源项目,如何与有经验的程序员一起学习并帮助他们,但我认为这是不可能的,因为人们的知识与我相比有多大差距,我没有足够的时间我可以向朋友学习,有人能帮助我,引导我走向正确的方向吗。。我有一个巨大的动机,以获得良好的编码,任何信息都会非常有帮助。


Tags: 函数代码程序编码计算机错误时间语法
3条回答

Where do I start learning algorithms?

我真的很喜欢Udi Manber's Introduction to Algorithms。不像更受欢迎的书,如CormenLeiserson和Rivest,Manber的书专注于创造性的问题解决和算法产生的过程。因此,你不必阅读别人发明的算法百科全书,也不必为它们来自地球上的何处而困惑,而是学会自己发明算法,一路走来,你将重新发明百科全书中的一些标准算法。

我认为,从长远来看,你会发现这种解决问题的能力远胜于对其他人算法的广博知识。

对你有好处。

你考虑过一些大学课程吗?通常你可以在那里学习一些算法类。

我发现,一个强大的数学背景是非常有帮助的,无论是在解决问题,和基本的数字操作技能。你在编程中做的许多事情都是建立在数学基础上的。最终使用或创建的算法将由您希望编写的程序类型决定。

首先…我觉得你应该给自己点时间。 不要一下子陷入很多事情中学习编程是一个很长的过程。 作为第一步,我建议您学习a编程语言(就像您在python中已经做的那样),并尽可能地学习编程的概念(oo、递归、循环、函数、变量等)。

作为第二步,你应该试着回答“我到底想用编程做什么?”这当然是最重要的,当你做图形,当你做数字信号处理器应用程序,当你做网页开发时,这是非常不同的,所以学习算法通常没有特定的目标,有时真的会令人沮丧。

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

相关问题 更多 >