![]() |
1
10
学习这些东西没有固定的顺序。既然学习在你有动力的时候效果最好,那就选择你最感兴趣的或者对你帮助最大的。在这里学一点,然后在那里学一点。睁大眼睛,多练习,你会没事的。
同时阅读“干净的代码”,“务实的程序员”和固体 http://www.butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod |
![]() |
2
2
Data Structures & Algorithms in Java .
一旦你读了一本像这样的书,就要知道一些事情 :
Programming Abstractions (Stanford, Julie Zelenski) . 我很高兴这些存在。 (碰巧我正在用 binary search tree .) |
![]() |
3
2
您不需要了解所有的Java来试验实现算法。您将需要能够在单个类中包装几个方法(通常只有一个方法)(甚至这只是因为Java坚持所有方法都是一个类)。您将需要条件和循环构造和数组。对于数据结构,您可能需要理解Java引用,尽管您可以使用整数作为数组下标来伪造指针。 关键是算法很重要,但规模相对较小。数据结构通常需要一些算法才能工作。但是你不需要了解更大规模的问题,比如面向对象的设计来试验算法。 编辑 从评论中,我看到你已经很好地进入了“何去何从”的阶段。 不要忘记算法(或离散数学),因为你不关心分析。广泛(不一定是深入)的理解是一个有用的资源-他们是伟大的解决问题的方法。
了解拓扑排序使最后一步变得微不足道。忘记了强连接的组件花费了我不少时间。了解Tarjans强连通组件算法的工作原理。。。维基百科和几分钟的纸笔就足够了,一旦你知道该找什么了。 事实上,我应该承认-“我被提醒”意味着我查阅了Dobbs博士的一篇关于拓扑排序的老文章,这篇文章使用了相同的方法。 |
![]() |
4
2
我建议你先从头脑开始学习。 functionx.com 也是一个很好的网站。大多数Java书籍都将算法描述为本书的一部分,所以不要担心算法。首先学习Java。 我推荐michaelt的“Java中的数据结构和算法”。古德里奇和罗伯托·塔马西亚。 《像程序员一样思考》是与算法相关的好书。 |
![]() |
5
0
@Chankey:根据我的说法,你应该同时掌握java和算法。首先学习Java编程语言的一些基础知识,如类、数据类型、函数等,然后学习排序和搜索的一些基本算法。现在应用java知识来实现这些算法。 干杯!! |