アルゴリズム

幅優先探索と深さ優先探索

2012年12月17日

コンピュータの良い点は、計算能力が人と比べて高い点です。 例えば、1から100までの和を計算する際、人にとっては 1+2+3+...+100 の計算はたいへんどころか、計算ミスをするでしょう。 一方、コンピュータなら簡単です。 ですから、コンピュータを使うことで、面倒な計算を瞬時にできるわけです。 ここでは、幅優先探索や深さ優先探索という面倒な計算をコンピュータにやらせます。

ベクトルの角度を計算するプログラム

2012年12月25日

位置ベクトルの角度を計算するプログラムを紹介します。

コンピュータが計算を間違える理由

2013年03月22日

0.1を100回足せば、10になります。 いたって当たり前のことをいまさら、と思われた方も多いのではないでしょうか? そこで、試しにプログラムを組んで確認してみます。 実際に確認してみると驚くべき結果に...

バブルソート(単純交換ソート)

2013年03月23日

ソートにおいて簡単に組めるアルゴリズムにバブルソート(単純交換ソート)があります。 バブルソートは、簡単に組めるというメリットがあります。 一方、実行速度はそれほど速くないというデメリットもあります。 速度を意識しなくていい場合は、バブルソートでいいでしょう。 ここではバブルソートについて解説します。

バブルソートの改良

2013年03月24日

前にバブルソートを紹介しました。 バブルソートを使えば、数列を昇順や降順に並び替えることができます。 ここでは前に紹介したバブルソートを改良して、速く動作するようにしましょう。

メモリーの仕組みを理解する

2013年03月25日

プログラムはメモリーに書きだされて実行されます。 このメモリーの原理について理解することは、プログラムの腕を上達させるのに欠かせません。 ここでは、メモリーがどのように動作するのかについて解説します。

線形探索

2013年03月28日

探索とは、データの集合から特定の値を見つける操作のことです。 例えば、データの中から ・男性 ・21歳から29際の人 ・年収500万円未満の人 を探す操作になります。 ここでは、ランダムなデータの並びから目的のデータを見つける際に有効な線形探索を紹介します。

2分探索で値を検索

2013年03月29日

降順あるいは昇順で並べられたデータ配列から特定の値を探す方法に2分探索があります。 もちろん、はじめから順に探索する線形探索でもいいのですが、順に並べられているデータなら2分探索の方が速く検索できます。 ここでは、2分探索について解説していきます。

再帰の基本

2013年03月30日

再帰を使うと、プログラムを完結にかけたり、効率的に計算できたりします。 ここでは、再帰について解説して再帰を使いこなせるようになることを目的とします。

ハッシュ法(チェイン法)

2013年04月01日

あるデータの集合があって、そのデータに要素を追加したり削除しり検索したい場合があります。 例えば、会員表に新たに会員番号Aの人を追加したり、削除したり、検索する場合です。 このように検索だけではなく、「追加」や「削除」を効率的に行えるのがハッシュ法です。 ハッシュ法には ・チェイン法 ・オープンアドレス法 といった種類があります。ここでは、チェイン法について説明します。