我应该首先了解数据结构和算法还是首先学习Java编程语言?

时间:2010-05-08 07:04:21

标签: java algorithm data-structures

我是编程的初学者。我应该学习数据结构和算法,以及Java编程语言吗? 现在我知道数据结构和算法构成了编程的基础。我应该先学习它们吗?

我很困惑。我的学习路径应该是什么?

我想成为一名非常优秀的Java程序员。

8 个答案:

答案 0 :(得分:22)

我认为两个并排学习是很好的。如果你试图在不进行任何编程的情况下首先学习数据结构和算法,那么这一切都会有点抽象 - 如果你能使用你能做什么,我认为你可能会更有效地学习在实际环境中学习。这也意味着你可以试验你正在学习的东西......以理论方式进行实验更难。

答案 1 :(得分:11)

我的建议:

1。)学习基础知识

Learning the Java Language

(不包括泛型章节,这更像是一个高级主题)

2。)在学习基础知识的同时,通过解决简单的练习练习你获得的知识

Coding Bat

3.)开始实现简单的算法,学习如何使用递归

  • 冒泡排序(仅适用于练习,不要实际使用此练习)
  • 插入排序
  • ...

4。)获取一本关于数据结构和算法的好书并开始学习它们

答案 2 :(得分:3)

我认为你应该只学习java的基础知识,然后开始与一些更高级的java并排学习数据结构和算法。如果你开始研究像算法这样的东西而不至少学习一些语言结构,那么事情就很难掌握。

答案 3 :(得分:2)

通常我们的程序员从不学习成为优秀的程序员。

我们首先进入的语言对我们的思考方式影响太大 关于问题。之后,我们可能会学习其他语言,但我们会继续 编写程序就像我们使用第一个程序一样。

我们的视野被该开始语言(例如Java)或 范式(例如面向对象)。

虽然我们觉得我们缺少某些东西,但我们太忙了 与鳄鱼战斗以消耗使我们陷入困境的沼泽地。

我的建议是不要太快地跳入Java或其他任何东西。 从一开始就让自己接触到各种语言。 你最终会得到一个更好的Java程序员。

这是一条非常好的道路:

http://www.teach-scheme.org/Overview/

答案 4 :(得分:2)

我个人建议你学习Java,尽管大多数编程语言都可以。虽然算法和数据结构是编程的重要部分,但它们并不是唯一的一部分。在研究软件工程领域的任何子部分时,熟悉编程语言是很有用的,例如A.I.或数据结构,因为它可以让您更深入地了解算法的内部工作原理。能够读取伪代码并将其转换为实际工作代码非常重要。

Sun Tutorials很棒,因为它们涵盖了大量材料,包括初学者(参见语言基础部分)和高级材料。

free online Java Textbook非常棒,因为可以通过下载免费的PDF版本在线查看或离线查看。

然后,我建议通过一些小型个人项目(简单的文本游戏,实用程序等)或研究一些开源代码来完全掌握语言。 Sourceforge对此非常有用。

另外,如果你喜欢数学,Project Euler是学习Java(或任何其他语言,因为挑战可以用任何语言解决)的绝佳方式。这也将帮助您培养使用算法并解决它们所需的技能。

一旦你觉得你已经很好地掌握了你选择的语言,那么继续学习算法和数据结构不仅会更容易,更有趣。您将伪代码转换为工作代码的能力将非常有用,因为您可以真正理解算法和数据结构的工作方式,并可以在测试应用程序中实现它们。

答案 5 :(得分:1)

大多数数据结构书都将植根于某种编程语言。我建议找一个使用Java并从那里去的人。话虽这么说,DS和算法都很棒,但仅凭这些并不会让你成为“真正优秀的Java程序员”。

Here's指向Google购物搜索Java数据结构书籍的链接。我会约会自己,说我从来没有读过任何一篇,我在大学读过的DS书是为C写的。

你还应该看看Pragmatic Bookshelf(谷歌它,我不能用我的低代表粘贴多个链接),他们有关于编程的 craft 的书籍,而不是只是语言。非常方便。

答案 6 :(得分:1)

答案 7 :(得分:1)

我的建议绝对是先学习算法,然后再学习数据结构....然后再学习像Java这样的编程语言。 我根据自己的经验说话。