データ構造とアルゴリズムに関する本を読みたいのですが、データ構造の本に記載されている資料を理解するための前提条件として非常に重要と考えられる離散数学の特定のトピックがあるかどうかを知りたいです。
PS私は独学のプログラマーです。私はコンピュータサイエンスのコースを受講しませんでした。
データ構造とアルゴリズムに関する本を読みたいのですが、データ構造の本に記載されている資料を理解するための前提条件として非常に重要と考えられる離散数学の特定のトピックがあるかどうかを知りたいです。
PS私は独学のプログラマーです。私はコンピュータサイエンスのコースを受講しませんでした。
「離散数学」は、プログラミングにわずかに関連する12の異なるトピック(論理、アルゴリズム、計算理論、数論、デジタル設計など)の基本を含む流行語です。離散数学の本を読むことは、これらすべてのトピックに関する本の最初の章または2章を読むこととほぼ同じです。
理解しておくべき最も重要なことはブール論理です。これは、独学で学んでいる場合は、おそらくすでにかなり得意です。アルゴリズムも非常に重要です。計算理論はかなり興味深いものですが、アルゴリズムに本当に興味があるか、独自のパーサーを作成したい場合を除いて、実際には役に立ちません。暗号化を始めたいのであれば、数論を学ぶのは良いことです。
データ構造について読むために、これらのことを実際に知る必要はありません。
数学的帰納法は、おそらく誰もまだ言及していない最も重要な概念の1つです。これは、ツリーやその他の帰納的に定義されたデータ構造のアルゴリズムのプロパティを理解して証明するために不可欠です。
ところで、このトピックに関する古典的な教科書は、Ronald Graham、Donald Knuth、およびOrenPatashnikによるConcreteMathematics:A Foundation forComputerScienceです。
しかし、教科書を読むことができるように、人生は短すぎて教科書を読むことができません。飛び込んでください。迷子になった場合は、必要な背景を見つけてください。
先に進んでデータ構造の本を読んでください、あなたは大丈夫でしょう。
アルゴリズム/データ構造のコースで役立つ離散数学の入門書に通常見られるトピックは次のとおりです。
現時点で私を逃れている人はおそらく他にも数人いるでしょう。大学を卒業して久しぶりです。
そうは言っても、優れたデータ構造/アルゴリズムの本には、多くの場合、関連する離散数学のトピックのいくつかについて読者を理解させることを目的とした、1つまたは2つの入門的な章と他のほとんどの章のセクションがあります。しかし、IMOは、時間と傾向がある場合は、より完全に理解するために、このことを知っている方がよいでしょう。そうでなければ、良い本を持っていれば、行き詰まってしまうことはないと思います。
PS:私が言及するトピックは、次の2冊の本からのものです。Grimaldiによる「Discreteand Combinatorial Mathematics:AppliedIntroduction」Rosenによる「DiscreteMathematicsand itsApplications」(「ConcreteMath」はデータ構造だけを読むには重すぎる)
データ構造とアルゴリズムについては、級数の極限の計算に関連する微積分の領域を知りたいと思うでしょう。これには、代数の知識が含まれます。
アルゴリズムの複雑さを計算できるようにするには、級数の制限を計算する方法を知る必要があります。
データ構造だけでなく、すべてのコンピュータサイエンス分野に関心がある場合、離散数学にはブール代数と、コンピュータアーキテクチャとアセンブリ言語の基礎となるアプリケーションが含まれますが、データ構造とアルゴリズムに関連しているとは思いません。