はじめに | Programming Place Plus アルゴリズムとデータ構造編【導入】 第0章
Programming Place Plus トップページ -- アルゴリズムとデータ構造編
この章の概要です。
自分の思い描くようなプログラムを作るためには、使用するプログラミング言語の構文やルールを覚えるだけではいけません。 もちろん、構文を理解することが第1歩として必要ですが、それだけではプログラムは完成しないでしょう。
実際にプログラミングを行うには、目的を達成するためにはどのような処理が必要であるか考え出す必要があります。 プログラミング言語の構文というものは、単なる記述のルールに過ぎず、構文を熟知しているからといって、価値のあるプログラムを書ける訳ではありません。
アルゴリズムとデータ構造編が扱うのは、長年の研究で確立されてきた、 目的を達成するための処理手順(アルゴリズム)と、データの表現方法(データ構造)です。 プログラムというものは、アルゴリズムとデータ構造の組み合わせによって実現されていると言えます。
アルゴリズムとデータ構造を学ぶ上で、プログラミング言語は基本的に何でも構いませんが、 ここでは、主にC言語を用いることにします。
動作確認に使用している環境は以下の通りです。
言語 | 環境 | 備考 |
---|---|---|
C言語 | VisualStudio Community 2017 | C95規格を想定。 |
当サイトのアルゴリズムとデータ構造編では、対象のプログラミング言語の構文やルールは既に理解済みであると想定して解説を行っていきます。 C言語についての学習は、C言語編を参照してください。
他のプログラミング言語のサンプルコードも、順次、不定期で公開していきます。 ただし、C言語以外は詳しい解説を行いませんのでご了承ください。
アルゴリズムとデータ構造は、使用するプログラミング言語や、目的(実行速度の向上、メモリ使用量の削減など)などによって、実装方法には創意工夫の余地があります。
当サイトの解説は、比較的ベーシックな手法だけに限っています。高い性能が要求される場合には、他の実装方法、他のアルゴリズム・データ構造についても調査、検討することをおすすめします。
解説されている範囲の内容に関して、どうしても理解できない場合は、質問メールを送って下されば、可能な範囲でお答えします。pplace_ky@programming-place.net までどうぞ。
アルゴリズムとデータ構造編は、いくつかの分類ごとに、章立てを行っています。 ですから、データ構造の第1章と、ソートアルゴリズムの第1章とは別の章になっています。
1つの分類の中の章は、できるだけ、突然内容が飛躍するようなことがないように考慮しているつもりですが、 明らかにそうなっていない箇所があれば、ぜひご指摘ください。
解説のレベルとしては、
を想定しています。
やや高度な内容や、細かい部分は、次のように破線で囲んでコラム的な扱いとしています。 この部分の説明については、難しければ読み飛ばしても構いません。
この部分に書かれている内容は、本文の内容を補足するものです。
この部分に書かれている内容は、少し高度な話題です。
本編で登場するサンプルプログラムや、その断片は、使えそうであれば、ご自分のプログラミング作業の中でそのまま使っていただいても構いません。ただし、バグがないことや、最良のプログラムであることを保証している訳ではありませんので、自己責任でお願いします。
------------------------------------------------------------------------
'2018/6/17 メールアドレスを変更。
'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 新規作成。
------------------------------------------------------------------------
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
Twitter でツイート | Twitter をフォロー | LINE で送る |
![]() |
管理者情報 | プライバシーポリシー |