![]() |
アクセス数(2003.05〜) 本日:6 昨日:56 累計:109308 |
|||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||
| ホーム > パソコン道場 > 上級編 > 1.プログラミングをはじめるにあたって > 1−2.アルゴリズムの重要性 | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
| 1−2.アルゴリズムの重要性 | ||||||||||||||||||||||||||
| アルゴリズムは、プログラミング言語的にみると計算の手順ということになります。 計算の手順と聞くと、難しい印象をもたれる方も多いと思いますので、もっと私たちの身近なもので考えてみましょう。 たとえば、リンゴの皮をむいて切り分けるとき、皮をむいてから切り分ける方法と、切り分けてから皮をむく方法とがあると思います。 どちらも、お皿の上に置いてしまえば同じなのですが、皮をむく過程が異なっています。 つまり、手順が異なっているだけで完成したものは同じです。 リンゴの皮をむいて切り分ける2つの方法をとっても、「やりやすいのはどちらか?」「早くできるのはどちらか?」というような賛否両論があると思います。 そして、どちらがよいのかは、いちがいに決められないと思います。 物事には何らかの手順があるものです。 そして、その手順は幾通りかがあるものです。 プログラミング言語のアルゴリズムにも同じようなことがいえると思います。 そもそも、よいアルゴリズムとはどのようなものなのでしょうか? パソコンが高価で、性能も今と比べると貧弱であった頃、よいアルゴリズムは処理速度が速いものとされていました。 いかにして速く動作するアルゴリズムを考えるかでプログラマーの技量が決まってしまうこともしばしば見受けられました。 そのため、プログラマーは、早く処理を行うアルゴリズムを考えることを競っていました。 その結果、作成した本人しか理解できないような複雑なアルゴリズムが生まれ、後のメンテナンスに支障をきたすことも珍しくありませんでした。 「俺は天才だぁ〜」といっていたプログラマーが作成したプログラムを、その人が去った後にメンテナンスできるプログラマーがいなかったなんてこともありました。 パソコンが安価で高性能になった現在、よいアルゴリズムのとらえ方も変化してきました。 どんなに実行速度が速くても、信頼性に欠けるものやメンテナンスがしにくいものは、よいアルゴリズムとはいえない。 つまり、確実に動作するシンプルなアルゴリズム。 これが、現在のよいアルゴリズムのとらえ方になってきています。 現在では、プログラミング言語で頻繁に使用するアルゴリズムは、汎用性のある関数やサブプログラムなどであらかじめ用意され、新規にアルゴリズムを考えることは少なくなってきました。 |
||||||||||||||||||||||||||
|
Copyright © 2003-2005.
Hiroshi Suzuki All Rights Reserved. |
||||||||||||||||||||||||||