入門編
このサイトは、すでにプログラミングの基本を身に付けたプログラマーが、アルゴリズムとデータ構造の学習サイトです。入門編では、最も基本的なアルゴリズムとデータ構造について説明します。プログラミングを始めたばかりか、これから学習する人は、こちらからスタートしてください。
日数 | 内容 | 詳細 |
---|---|---|
1日目 | アルゴリズムとデータ構造 | アルゴリズムとデータ構造とは何かについて説明します。 |
2日目 | アルゴリズムの基本 | アルゴリズムの基本の順次処理、分岐処理、繰り返し処理について説明します。 |
3日目 | データ構造の基本 | データ構造の基本について説明します。入門編では、配列を主に取り上げます。 |
4日目 | アルゴリズムの例① | アルゴリズムの例として、時間の差を求めるアルゴリズムについて説明します。 |
5日目 | アルゴリズムの例② | 単純なアルゴリズムとして、配列の値の合計と、配列の値の最大値を取り上げます。 |
6日目 | アルゴリズムの例③ | ユークリッドの互除法とエラトステネスのふるいを説明します。 |
7日目 | アルゴリズムの例④ | 入門編のアルゴリズムの集大成として、素因数分解を説明します。 |
基本編
基本編では、プログラマーが求められるある程度高度なプログラミングを行うために必要となるアルゴリズムとデータ構造について説明します内容は以下の通りになります。すでにプログラミングについてある程度の知識がある人はこちらからスタートしてください。
日数 | 内容 | 詳細 |
---|---|---|
0日目 | アルゴリズムとデータ構造とは | アルゴリズムとデータ構造とはなにかということについて簡単に説明します。 |
1日目 | 線形データ構造① | データ構造の基本であるリストや連想記憶などについて学びます。 |
2日目 | 線形データ構造② | スタック,キューといった、データ構造とその使い方について学びます。 |
3日目 | ツリー構造 | 検索やソートなどで多用されるデータ構造、ツリー構造についてい学びます。 |
4日目 | サーチアルゴリズム | データの中から目的のものを探し出すサーチアルゴリズムについて学習します。 |
5日目 | ソートアルゴリズム① | バブルソート・選択ソート・挿入ソート・シェルソート |
6日目 | ソートアルゴリズム② | バケットソート・分布数え上げソート・基数ソート |
7日目 | ソートアルゴリズム③ | マージソート・ヒープソート・クイックソート |
発展
上記で一通り、アルゴリズムに関する基本的な知識が身につきます。しかし、これで十分というわけではありません。更に深く学習するために、発展として、以下の内容を追加しておきます。
日数 | 内容 | 詳細 |
---|---|---|
1日目 | アルゴリズムと計算量 | アルゴリズムの計算コストを算出する方法について学習します。 |
2日目 | 文字列検索のアルゴリズム① | 最も簡単な文字列検索アルゴリズムである力まかせ法とKMP法について学習します。 |
3日目 | 文字列検索のアルゴリズム② | 文字列検索のアルゴリズムの第二弾として、BM法について学習します。 |
4日目 | バックトラック法 | 8クイーン問題などに使われるバックトラック法について説明します。 |
5日目 | 動的計画法① | 動的計画法の第一弾として8クイーン問題を紹介します。 |
6日目 | 動的計画法② | 動的計画法の第二弾として経路探索に用いるダイクストラ法について説明します。 |
7日目 | その他のアルゴリズム | その他の最新の様々なアルゴリズムを紹介します。 |
関連項目を学習
アルゴリズムを記述するために、プログラミング言語の学習が必要です。
タイトル | 詳細 |
---|---|
一週間で身につくC言語の基本 | プログラミング経験0の段階から、C言語の学習ができます。 |
一週間で身につくC++言語の基本 | C言語の上位言語である、C++言語の学習ができます。 |
一週間で身につくJava言語の基本 | Java言語の学習ができます。 |
一週間で身につくC#言語の基本 | C#言語の学習ができます。 |
相互リンク
このサイトとの相互リンクがあるサイトを紹介します。
タイトル | 詳細 |
---|---|
相互リンク | このサイトとの相互リンクがあるサイトを紹介します。 |
資料編
C言語を学習する上で、参考になる資料一覧を紹介します。
タイトル | 詳細 |
---|---|
資料1.参考文献 | アルゴリズム学習に役立つ様々な専門書を紹介します。 |