アルゴリズムとデータ構造編【導入】 第0章 はじめに

先頭へ戻る

この章の概要

この章の概要です。

イントロダクション

自分の思い描くようなプログラムを作るためには、使用するプログラミング言語の構文やルールを覚えるだけではいけません。 もちろん、構文を理解することが第1歩として必要ですが、それだけではプログラムは完成しないでしょう。

実際にプログラミングを行うには、目的を達成するためにはどのような処理が必要であるか考え出す必要があります。 プログラミング言語の構文というものは、単なる記述のルールに過ぎず、構文を熟知しているからといって、価値のあるプログラムを書ける訳ではありません。

アルゴリズムとデータ構造編が扱うのは、長年の研究で確立されてきた、 目的を達成するための処理手順(アルゴリズム)と、データの表現方法(データ構造)です。 プログラムというものは、アルゴリズムとデータ構造の組み合わせによって実現されていると言えます。

準備

アルゴリズムとデータ構造を学ぶ上で、プログラミング言語は基本的に何でも構いませんが、 ここでは、主にC言語を用いることにします。

動作確認に使用している環境は以下の通りです。

言語 環境 備考
C言語 VisualStudio Community 2017 C95規格を想定。

方向性

当サイトのアルゴリズムとデータ構造編では、対象のプログラミング言語の構文やルールは既に理解済みであると想定して解説を行っていきます。 C言語についての学習は、C言語編を参照して下さい。

他のプログラミング言語のサンプルコードも、順次、不定期で公開していきます。 ただし、C言語以外は詳しい解説を行いませんのでご了承下さい。

アルゴリズムとデータ構造は、使用するプログラミング言語や、目的(実行速度の向上、メモリ使用量の削減など)などによって、 実装方法には創意工夫の余地があります。
当サイトの解説は、比較的ベーシックな手法だけに限っています。 高い性能が要求される場合には、他の実装方法、他のアルゴリズム・データ構造についても調査、検討することをお勧めします。

解説されている範囲の内容に関して、どうしても理解できない場合は、 質問メールを送って下されば、可能な範囲でお答えします。 ky_webid@yahoo.co.jp までどうぞ。

本編の内容について

アルゴリズムとデータ構造編は、幾つかの分類ごとに、章立てを行っています。 ですから、データ構造の第1章と、ソートアルゴリズムの第1章とは別の章になっています。
1つの分類の中の章は、できるだけ、突然内容が飛躍するようなことが無いように考慮しているつもりですが、 明らかにそうなっていない箇所があれば、是非ご指摘下さい。

解説のレベルとしては、

を想定しています。

やや高度な内容や、細かい部分は、次のように破線で囲んでコラム的な扱いとしています。 この部分の説明については、難しければ読み飛ばしても構いません。

この部分に書かれている内容は、少し高度なものです。

本編で登場するサンプルプログラムや、その断片は、使えそうであれば、ご自分のプログラミング作業の中でそのまま使って頂いても構いません。 ただし、バグが無いことや、最良のプログラムであることを保証している訳ではありませんので、自己責任でお願いします。


参考リンク

更新履歴

'2018/3/29 動作確認に使うコンパイラを、VisualC++2013 から VisualC++ 2017 に変更。

'2015/8/17 動作確認に使うコンパイラを、VisualC++2010 から VisualC++ 2013 に変更。

'2014/4/19 C言語以外の言語対応を一旦、取り下げ。

'2011/10/1 C言語以外の言語対応についての記述を追加。

'2011/7/31 新規作成。





次の章へ(第1章 計算量)

アルゴリズムとデータ構造編のトップページへ

Programming Place Plus のトップページへ


このエントリーをはてなブックマークに追加
rss1.0 取得ボタン RSS