私はすでに基本的なアルゴリズムについての知識を持っています。今、私はより高度なアルゴリズムを研究することを計画しており、アルゴリズムの紹介に進むことにしました。
この本を読む前に数学のスキルを更新する必要があるかどうかはわかりませんか?(高校や大学で学んだ数学のほとんどを忘れています)この本に強力な数学の知識が必要な場合は、有益な科目を提案してください。
アルゴリズムの実装、設計、分析について学びたいです。
私はすでに基本的なアルゴリズムについての知識を持っています。今、私はより高度なアルゴリズムを研究することを計画しており、アルゴリズムの紹介に進むことにしました。
この本を読む前に数学のスキルを更新する必要があるかどうかはわかりませんか?(高校や大学で学んだ数学のほとんどを忘れています)この本に強力な数学の知識が必要な場合は、有益な科目を提案してください。
アルゴリズムの実装、設計、分析について学びたいです。
回答:
CLRブックを使用するMITコースには、特定の前提条件コースがあります。その前提コースで使用される教科書は無料で入手できます。
ここにあります:
前提条件コースの前提条件コースは、単一変数計算です。
@ 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版)は、それほど威圧的ではなく、より親しみやすいと感じています。
(すなわち連続に関しては実数値)数学の一部、微積分・ステュワートは、分化と統合から来啓発の学生に講義のために頻繁に使用される書物であると思われます。
アルゴリズムの実装だけでなく、アルゴリズムの「分析」を気にしない限り、あなたが行ってもいいと思います。私たちのコースは通常、ほとんどの大学のカリキュラムのUD数学またはCSコースです。
その本のアルゴリズムを実装する方法を理解するだけで問題になりません