Algorithm

リストと二分探索ツリー

いきなり大上段に構えたような題名をつけてしまいましたが、大それたことを書こうというわけではありません。 これまでアルゴリズムの勉強において、配列のことしか考えてきませんでしたが、今回はリストやツリーについて考えてみようという、ただそれだけの…

二通りの挿入ソート

これまでに、交換ソート (バブルソート)、選択ソート、挿入ソートを、大雑把に眺めてきました。 いずれも、計算量オーダーが O(N2) であるとされているアルゴリズムです。 これらの中では、個人的には挿入ソートがちょっと気に入りました。 あまり難解もしく…

単純挿入ソート

昨日の日記 単純選択ソート (Nov 23, 2011) で、単純選択ソートをわたしなりに安定ソート化してみようと試みた際に、これはもしかしたら単純挿入ソートに変質してしまったのではなかろうか、という疑問を抱きました。 で、そもそも、単純挿入ソートって、ど…

単純選択ソート

昨日の日記 バブルソートのお勉強 (Nov 22, 2011) におきまして、「単純選択ソート (straight selection sort)」 と呼ばれるものについて言及いたしました。 が、その後、そこに掲載したサンプルコードにはもう少し見直しの余地がありそうだと思いまして、本…

バブルソートのお勉強

アルゴリズムの勉強というと、まずはソートに関するアルゴリズムから始めるのがお約束ということになりましょうか。 また、ソートに関するアルゴリズムの勉強というと、だいたいバブルソートから始めることになりましょうか。ということで、わたしもバブルソ…

これは何ソートって呼ぶのかな

先月から、アルゴリズムの勉強と C 言語の勉強を始めたはずなのですが、気づけば今月はほとんど何もしていないことに気づきました。 で、それらの勉強をそろそろ再開したいのですが、その前に、今回は、ちょっと思い出話を書き残してみたいと思います。

順列を列挙する

最近、ちょっとだけ独学を始めた C 言語を使って、順列 (permutation) を列挙するコードを書いてみようと思い立ちました。 少し前に読んだ 『Java データ構造とアルゴリズム基礎講座』(長尾和彦著 技術評論社 2009 ISBN978-4-7741-3697-4) という本で小さな…

リニアサーチに番兵を付けると

最近、id:nowokay/@kis さんの アルゴリズムの勉強のしかた - きしだのはてな (Sep 22, 2011) という記事に触発されて、プログラミングの基本のようなところに興味が湧いてきました。 具体的には、アルゴリズムというものを、かつてまともに勉強したことがな…