入門編

このサイトは、すでにプログラミングの基本を身に付けたプログラマーが、アルゴリズムとデータ構造の学習サイトです。入門編では、最も基本的なアルゴリズムとデータ構造について説明します。プログラミングを始めたばかりか、これから学習する人は、こちらからスタートしてください。

入門編
日数 内容 詳細
1日目 アルゴリズムとデータ構造 アルゴリズムとデータ構造とは何かについて説明します。
2日目 アルゴリズムの基本 アルゴリズムの基本の順次処理、分岐処理、繰り返し処理について説明します。
3日目 データ構造の基本 データ構造の基本について説明します。入門編では、配列を主に取り上げます。
4日目 アルゴリズムの例① アルゴリズムの例として、時間の差を求めるアルゴリズムについて説明します。
5日目 アルゴリズムの例② 単純なアルゴリズムとして、配列の値の合計と、配列の値の最大値を取り上げます。
6日目 アルゴリズムの例③ ユークリッドの互除法とエラトステネスのふるいを説明します。
7日目 アルゴリズムの例④ 入門編のアルゴリズムの集大成として、素因数分解を説明します。

基本編

基本編では、プログラマーが求められるある程度高度なプログラミングを行うために必要となるアルゴリズムとデータ構造について説明します内容は以下の通りになります。すでにプログラミングについてある程度の知識がある人はこちらからスタートしてください。

基本編
日数 内容 詳細
0日目 アルゴリズムとデータ構造とは アルゴリズムとデータ構造とはなにかということについて簡単に説明します。
1日目 線形データ構造① データ構造の基本であるリストや連想記憶などについて学びます。
2日目 線形データ構造② スタック,キューといった、データ構造とその使い方について学びます。
3日目 ツリー構造 検索やソートなどで多用されるデータ構造、ツリー構造についてい学びます。
4日目 サーチアルゴリズム データの中から目的のものを探し出すサーチアルゴリズムについて学習します。
5日目 ソートアルゴリズム① バブルソート・選択ソート・挿入ソート・シェルソート
6日目 ソートアルゴリズム② バケットソート・分布数え上げソート・基数ソート
7日目 ソートアルゴリズム③ マージソート・ヒープソート・クイックソート

発展

上記で一通り、アルゴリズムに関する基本的な知識が身につきます。しかし、これで十分というわけではありません。更に深く学習するために、発展として、以下の内容を追加しておきます。

一週間で身につくC言語の基本(応用編)
日数 内容 詳細
1日目 アルゴリズムと計算量 アルゴリズムの計算コストを算出する方法について学習します。
2日目 文字列検索のアルゴリズム① 最も簡単な文字列検索アルゴリズムである力まかせ法とKMP法について学習します。
3日目 文字列検索のアルゴリズム② 文字列検索のアルゴリズムの第二弾として、BM法について学習します。
4日目 バックトラック法 8クイーン問題などに使われるバックトラック法について説明します。
5日目 動的計画法① 動的計画法の第一弾として8クイーン問題を紹介します。
6日目 動的計画法② 動的計画法の第二弾として経路探索に用いるダイクストラ法について説明します。
7日目 その他のアルゴリズム その他の最新の様々なアルゴリズムを紹介します。

関連項目を学習

アルゴリズムを記述するために、プログラミング言語の学習が必要です。

関連項目の学習
タイトル 詳細
一週間で身につくC言語の基本 プログラミング経験0の段階から、C言語の学習ができます。
一週間で身につくC++言語の基本 C言語の上位言語である、C++言語の学習ができます。
一週間で身につくJava言語の基本 Java言語の学習ができます。
一週間で身につくC#言語の基本 C#言語の学習ができます。

相互リンク

このサイトとの相互リンクがあるサイトを紹介します。

相互リンク
タイトル 詳細
相互リンク このサイトとの相互リンクがあるサイトを紹介します。

資料編

C言語を学習する上で、参考になる資料一覧を紹介します。

C言語の学習に役立つ資料
タイトル 詳細
資料1.参考文献 アルゴリズム学習に役立つ様々な専門書を紹介します。