コーメンを超えたアルゴリズムの本


21

Cormenのアルゴリズムの紹介の本でほとんどの資料を完成させました。Cormanの本以外の資料をカバーするアルゴリズムの本を探しています。推奨事項はありますか?

注:stackoverflowでこれを尋ねましたが、答えにあまり満足していませんでした。

注:ほとんどのコメントを見て、理想的には、このコースの説明で787 コースの内容をカバーする本を見つけたいと思います。



1
@Kavehすでにタルドスを読んだことがあります。
ユージン

1
「アルゴリズムの紹介」は、アルゴリズムの設計と分析の範囲のほぼすべてを網羅し、学部レベルと大学院レベルの両方のコースで世界で最も人気のある教科書です。各章では、関連資料の簡潔な紹介を提供し、最後にさらなる研究のための参考文献の非常に長いリストもあります。グラフアルゴリズム、複雑性理論など、特定のトピックについてより深く理解する必要があると感じた場合、最善の策は本の参考文献を調べることです。それが役に立たない場合は、その分野の専門家からアドバイスを求めることもできます。特定領域。
アリ

12
「アルゴリズムの概要」では、アルゴリズムの設計と分析の範囲のほぼすべてを網羅しています。
-JeffE

5
私が本当に好きな本の1つは、Udi Manberによるアルゴリズムの紹介:創造的なアプローチです。他のほとんどの教科書とは異なり、彼は自分でアルゴリズムを考え出す方法を教えています。教科書で取り上げられている各アルゴリズムについて、彼はセクションの漸進的な進行を提供し、最初のセクションは最も明白なアプローチを説明し、それぞれの連続する試みは前のセクションの誤りを修正します。私の意見では素晴らしい文章です。
ビナヤックパタク

回答:


9
I am looking for an algorithms book that covers material beyond Corman's book.

これは、「超えた」ものに応じて、さまざまな方法で答えることができます。役に立つ具体的な回答が得られる可能性が高いため、より具体的な指示を求めることをお勧めします。ただし、いくつかの一般的なガイダンスについては:

  • 一般的なアルゴリズムのトピックをCormanよりも深く掘り下げた一般的な書籍がいくつか見つかるかもしれませんが、ほとんどの場合、その書籍がかなり深くなる場合は専門化を開始する必要があります。そうでなければ、肥大化し、有用性に欠ける可能性があります。
  • そのため、代わりに特定のトピックを探してください。特定のトピックに焦点を合わせると、高度な資料がたくさんあります。興味がありますか:
    • ソートアルゴリズム?
    • 文字列アルゴリズム?
    • 数論的アルゴリズム?
    • 行列アルゴリズム?
    • グラフアルゴリズム?
    • 幾何学的アルゴリズム?
    • 量子アルゴリズム?
    • 確率的/ランダム化アルゴリズム?
    • 線形計画?
    • 計算のモデル?
    • 基本的な複雑性理論とアルゴリズム?
  • 独自のアルゴリズムの導出方法を理解する場合は、調査している問題空間で使用されている既知のデータ構造の理解に焦点を合わせ(したがって、既存の知識の十分な深さを取得)、複雑さの理論とモデルの十分な理解を求めます計算。これらは、与えられた問題に対して何が可能かを直感的に感じさせ、正式に下限を証明するのに苦労しても、どのアプローチがより良い成功を収めるでしょう。

パパディミトリオウのいくつかの本や複雑性理論に関するアローラ/バラクのような本は、どのアルゴリズムが可能であるかをよりよく理解し、直感を構築するためにコーマンにフォローアップするための私の提案になるでしょうが、現代レベルの理解に精通したい場合は、より具体的なトピックに関する研究レベルの本。


1
非常に良い質問をします。数論的アルゴリズムに興味があるので、バッハとシャリットのアルゴリズム的数論をすでに見てきました。しかし、コーメンを超えてアルゴリズム開発技術を構築する本を探しています。
ユージン

1
私は深さを探しているのではなく、幅を探しています。基本的な複雑性理論ではなく、私が聞いたアルゴリズム/データ構造の紹介ですが、CLRSには含まれていません(または問題としてのみ存在します)。A *検索、ベストファースト検索、ブルームフィルター、ファイル/画像圧縮、バーストソート、隠れマルコフモデル、ナイーブベイズ分類器、量子アルゴリズム、スキップリスト、TimSort、Treaps、トライ、ボロノイ図アルゴリズムなど。 BentleyのProgramming Pearlsなど、さまざまなトピックに関する興味深い記事のコレクションです。
ジンボブ博士

16

他の人が指摘したように、(高度な)アルゴリズムに関する本はトピックごとに最適に選択されます。厳密な分析を備えた優れているが重量のある一般的なリファレンスは、おそらくKnuthのThe Art of Computer Programmingです。

分析手法については、同じ方向のより多くの理論について、SedgewickとFlajoletによるアルゴリズムの分析の紹介、およびFlajoletとSedgewickによるAlgorithmic Combinatoricsに興味があるかもしれません。

困難な問題に取り組むアプローチについては、Hromkovičによる困難な問題のアルゴリズムを参照してください。


5

理論計算機科学ハンドブックを見たことがありますか

命令型アルゴリズムを超えて関数型プログラミングに移行したい場合は、Purely Functional Data Structuresご覧ください。タイトルにはデータ構造が記載されていることは知っていますが、本のアルゴリズムは、プログラミングの別の方法に目を開かせるかもしれません。

編集

CS 787のコースの説明現在のクラスを見てみました

ノート

主に文献の論文を使用します。これらは配布資料として、またはウェブ経由で利用可能になります。アルゴリズムに関するいくつかの本は、Wendtライブラリで予約されます。

それが私なら、インストラクターのディレクトリに連絡します。:)


いいえ、私はハンドブックを見ていません。提案をありがとう!
ユージン

ワオ。コース情報を見つけることができませんでした。リンクをありがとう。
ユージン

-2

コンピューターのアルゴリズムは非常に複雑であり、トピックを理解するのが難しいため、最高の本はありません。このトピックを理解するには、それらのいくつかを読む必要があります。

ここに私の10年間のプログラミングと多数のインタビューへの参加に基づく2セントがあります。

  1. Steven S. Skienaによるアルゴリズム設計マニュアル
  2. Sedgwickによるアルゴリズム(http://algs4.cs.princeton.edu/home/
  3. トーマス・コーメンによるアルゴリズムの紹介
  4. アドナン・アジズによるインタビューのアルゴリズム
  5. Pythonアルゴリズム:Python言語での基本的なアルゴリズムの習得
  6. トーマス・コーメンによって解かれたアルゴリズム

参照:


4
そして、なぜあなたはこれらをお勧めしますか?
ラファエル

3
特に、なぜあなたはその本を超える本を求める質問に答えて、コーメンらの「アルゴリズムの紹介」を勧めていますか。
デビッドリチャービー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.