没有必要,我也学过算法与数据结构,还买了几本算法竞赛相关的书籍,不过在java中很少用到,不过也要学习一些简单的算法,如遍历,栈,队列,当然还包括递归算法,其实我觉得递归算法很重要,尤其是访问文件目录时。不过也无需深究。
如果只是简单地做一般性的应用,大可不必花大心思去学数据结构和算法设计。其一:这些与语言不相关;其二:这些都已经有现成的实现,自己直接调用就行。数据结构与算法设计的重要性体现在优化而不是实现,比如数据挖掘的各种算法实现。
java强调的面向对象设计,算法和数据结构强调过程。弄不好就会陷入而忽略对象的设计。 数据结构和算法说白了就是对时间和空间的平衡,换算。其中也有技巧。比如二叉树。还有模型栈列表。这些都需要懂。以便以后做需要优化的时候来查这些资料。