Javaプログラマーとして、アルゴリズムを学ぶ必要があります(プログラミングの課題)。私はいくつかのヘッドファーストシリーズ(私が所有するJava)を読みましたが、それらはかなり脳にやさしいものです。アルゴリズムブックは、理解が簡単で、各アルゴの要点にもなります。
私は個人的にはRobert SedgewickとKevin Wayneによる本 Algorithms がとても好きです。この本には、さまざまなアルゴリズムがどのように機能するかを示す非常に美しいイラストがあり、非常に実用的な例も示されています。本の質については、コンパニオン website をご覧ください。
個人的に私は Algorithm Design Manual でSteven S.Skienaによって学び、現在 Algorithms In a Nutshell を使用して、あまり実装していないアルゴリズムのクイックリファレンスとして使用しています。 Algorithms in a Nutshellは、コード例としてJava、Ruby、C、およびC++の両方を使用しますが、Javaコーダーであるため、C/C++コードスニペットの読み取りにそれほど問題はありません。あなたがそれらを読むことができなかった場合、それらはアルゴリズムを理解するために不可欠ではありません、完全な説明は純粋にテキストと画像に基づいて利用可能です。