プログラミングを始める前に知っておきたい!アルゴリズムのこと

プログラミングを始める際に、アルゴリズムのことを理解していないと、具体的にどんなことをしたいのか、わからなくなってしまいます。

アルゴリズムとは、コンピューターの情報処理において、処理するための手順を形に表したものをいい、プログラミングをはじめとするシステム開発で重要なものになります。

問題を解くための方法を図式化するもので、入力された値を計算し、条件に合わせて適切な処理ができるようにしていき、それを見ながらプログラミングをしていきます。

情報システムにおいては、情報を入力すれば適切な値が出力されるには、プログラムの設計が必要になり、そのプログラム自体がアルゴリズムという見方もあります。

金額の計算や書類の印刷など、特定の処理に特化したシステムを作るうえでアルゴリズムを考えると、指定された順序で考えられるようになり、アプリケーションが作りやすくなります。

値が入力されると、順番に処理の行程が考えられており、その処理内容に応じてデータを処理し、条件に合わせて適切な解答を出力できるようにします。

処理の中には分岐や繰り返しといった処理があり、それらの処理は条件が指定されており、値が条件に合っているかどうかを判断しながら処理を行います。

分岐は値が条件に合っているかどうかを判断する処理で、プログラミングではよくIfから始まる文で記述され、合っているときの処理を記述し、合っていないときの処理を記述することもあります。

繰り返しは値が指定された値になるまで処理が繰り返され、その回数に合わせて計算などの処理が行われるようになり、この処理はループとも呼ばれています。

アルゴリズムでは再帰と呼ばれる処理もあり、処理がその再帰のところまで行われると、情報が別のアルゴリズムで処理されるようになり、再帰で処理された情報が出力されるようになります。

ある条件が成立するまで、再帰は自動的にプログラムが呼び出されるようになり、先ほどの繰り返しとは考え方が似ています。

プログラミングでは関数と呼ばれる仕組みを使用することがあり、関数が使用できる言語では、この再帰が関数によって行われます。

様々な処理方法でアルゴリズムは考えられており、基本的なアルゴリズムには探索やソートといった、数値などのデータに対する処理が行われます。

探索とは、指定されたデータをランダムに並べられた多くのデータの中から見つける方法で、探索の中でも様々な方法があります。

探索には、1つずつ順番に同じ値を見つけていく線形探索、整列された配列から2つのかたまりで分けていきながら探していく二分探索などがあります。

ソートとは、ランダムに並んだ配列を、昇順または降順に並べ替えていく方法で、いわゆる整列・並べ替えといった方法です。

ソートには、隣同士の値の大小を比べながら並べ替えていく比較ソート、最適な値を選びながら並べ替えていく選択ソート、最初から順番に値を適した場所に入れていく挿入ソートなどがあります。