アルゴリズム入門(CLRS)ブックの必須数学スキル[終了]


30

私はすでに基本的なアルゴリズムについての知識を持っています。今、私はより高度なアルゴリズムを研究することを計画しており、アルゴリズムの紹介に進むことにしました。

この本を読む前に数学のスキルを更新する必要があるかどうかはわかりませんか?(高校や大学で学んだ数学のほとんどを忘れています)この本に強力な数学の知識が必要な場合は、有益な科目を提案してください。

アルゴリズムの実装、設計、分析について学びたいです。


1
必要に応じてスキルをリフレッシュするための素晴らしいリソースを紹介します。khanacademy.org
アランB.ディー

回答:



9

@ user16764は、特定のMITコースの提供(6.042)を参照して暗示しているように、通常は離散数学と呼ばれるもののバージョンであり、初年度(大学)レベルの計算と組み合わせて、多くの(基本)アルゴリズムとそのアルゴリズムを理解するための主要な要件です分析。

特殊または高度なアルゴリズムには、統計/確率(科学および金融プログラミング)、抽象代数、および数論(暗号化など)など、追加または高度な数学的背景が必要になる場合があります。

学生のとき、私の個別の数学コースには、スザンナエップによる教科書「離散数学と応用」があり、私のライブラリで見つけた別の教科書は、ケネスロスとチャールズライトによる離散数学でした。これらのいずれかの適切な品質の使用済みコピーは、おそらく開始するのに妥当な場所です(学習スタイルに応じて、MIT Open Course Wareと組み合わせて、または組み合わせずに)。自習については、よく参照する2つの情報源があると、理解できない点を明確にするのに役立ちます。

私が提案した代替案は、Concrete Mathematics、Ronald L. Graham、Donald E. Knuth、およびOren Patashnikによる第2版です。私は現時点で自分のコピーを見つけることができず、それを熱心に扱っていないので、それを勧めたり反対したりすることはできません。

序文から:

しかし、具体的な数学とは正確には何ですか?これは、連続数学と離散数学の融合です。より具体的には、問題を解決するための技術のコレクションを使用した、数式の制御された操作です。

このブログエントリ「書籍プログラマーは本当に読まない」で、Bill the Lizardの curmudgeonコメントに注目します。個人的に、ロバートセッジウィックのアルゴリズム(現在の第4版)は、それほど威圧的ではなく、より親しみやすいと感じています。

(すなわち連続に関しては数値)数学の一部、微積分・ステュワートは、分化と統合から来啓発の学生に講義のために頻繁に使用される書物であると思われます。


6

それは数学そのものではなく、数学的な形式主義に安らぎと流encyさがあるためです。基本セットの用語と対応する形式を学びます。

アルゴリズムの分析、特に基礎となる計算問題を研究する複雑性理論のコンテキスト(「Big-Oh」表記法よりも実質的なことをしようとしている場合)では、グラフ理論に時間を費やす必要があります。そして抽象代数、すべてに加えて、生来の巧妙さの膨大な量。


1

アルゴリズムの実装だけでなく、アルゴリズムの「分析」を気にしない限り、あなたが行ってもいいと思います。私たちのコースは通常、ほとんどの大学のカリキュラムのUD数学またはCSコースです。

その本のアルゴリズムを実装する方法を理解するだけで問題になりません


アルゴリズムの分析についても学びたいです。提案をお願いします。:)
匿名

@Anonymousその場合、弾丸を噛む以外に選択肢はないと思います。私は自分で離散数学を教え始めましたが、すぐに圧倒されて辞め、データ構造とアルゴリズムに関する「人気のある」本をやって簡単な方法を試してみましたが、本当の取引が見つからなかったことがわかりました。私は今、再び始める勇気を奮い立たせています。
ankush981
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.