• ベストアンサー

ランダムサーチ(改)!!

MunyaMunyaの回答

  • ベストアンサー
回答No.1

おっしゃるとおり、二分法は二分割していってどちら側にあるかを調べて、範囲をせばめていく方法です。ただし、データは昇順(または降順)にソートされていることが必要です。 ランダムサーチもそのとおりです。 二分法とランダムサーチを組合わせて検索効率をあげることもできます。つまり、乱数の範囲を二分割していけばいいわけです。

関連するQ&A

  • ビットラインサーチ

    以前、自分なりのアイディアでビットアレイサーチ(bitarraysearch)についても質問させて いただきましたが、今回も同様な質問をさせていただきたいと思います。 Webサイトをいろいろ検索した結果、今回作成したサーチアルゴリズムが無さそうだなとは 思うのですが、「もし既にあるよ」というお言葉があれば、回答をよろしくお願いします。 今回作成したサーチアルゴリズムは、ランダムに作成した5000000文字の中から任意の文字列の 位置を検索するというものです。任意の文字列は10000文字まで対応しています。もちろんこれらは ヘッダファイルの書き換えで変更することが出来ます。 最後にバグや改良点等ございましたら合わせてご回答頂ければ幸いです。

  • long型のランダムな値を返す方法

    C言語について質問させて頂きます。 私は今、0以上50万以下(上限は50万以上ならどんな値でもかまいません)の範囲でランダムに整数を得たいと考えております。 #include <stdlib.h>のint rand(void)は0以上の乱数を返してくれますが、返す値はintの範囲内(?)なので、要望に合っておりません。 そこで、long型のランダムな値を得たいと思っております。 一体、どのような関数またはアルゴリズムを使えば、望むように出来るのでしょうか? 是非、お教えください。

  • 世論調査に参加したことはありますか?

    主には電話調査ですが、世論調査とは… 電話調査における無作為抽出の方法として、近年はコンピュータによるRDD方式(乱数番号法、ランダム・デジット・ダイヤリング、Random digit dialing)が多く採用されている。コンピュータで乱数計算を基に電話番号を発生させて電話をかけ、応答した相手に質問を行う方式で、NTTなどの電話帳に掲載されていない電話番号も抽出対象となりうる。 だそうです ミナさんは如何ですか? 私は経験ありません 経験のあるミナさんはどんな調査内容でしたか? お礼は簡素になりますがご容赦を たくさんの回答お待ちしております[おじぎ]

  • エクセルからランダムに抽出する方法

    お世話になります。 以前、似たような質問があったのですが探すことができなかったので質問させてください。 エクセルのA列に社員番号、B列に氏名の入ったファイル(約7,000名)があります。今回、全社的にアンケートをとることになり、ランダムに対象者を300人抽出したいと思います。できればC列に『○』表示したいのですが、=rand()で乱数を発生させるまではできますが、その中から抽出する関数がわかりません。 また、統計をとる上で必要な人数とは何人ぐらいなのでしょうか? OSはXP、エクセル2003を使用しています。 よろしくお願いします。

  • 整数型の配列をランダムに並べ替える方法

    100ます計算の問題を作る、というプログラムを作ってみようと考えています。 問題となる数列は、1から9までの数字をランダムに並べ替えた物になるはずです。 さて、この「ランダムに並べ替えた数字」というのは、どういったアルゴリズムで作成するのが最適なのでしょうか? 個人的に思いついたのは、以下のような方法です。 1.整数型の配列変数(要素が9個)を作成し、それぞれ1から9まで数字を入れておきます。 2.乱数を使って、「x番目とy番目の数字を入れ替え」という風に、何度も入れ替えを行います。 これだと非常に単純なのですが、正直言って素人の考えなので、最適なのかどうか疑問なのです。 もっと最適な方法があれば教えて頂きたいです。

  • ランダムリンクCGIを探しています。

    ページにアクセスする度に、ランダムにページを表示させたいと思っています。 現在 http://www.booboo.ne.jp/ のランダムリンクを試してみたのですが、ランダムといっても同じページが連続して表示されたり、設定しているURLアドレスの中で、なかなか表示されないページもあります。 timeによる乱数(?)によって、ランダムにページをリンクするようですが、もっと均等にランダムにリンクさせる事はできないでしょうか? ***.cgiにアクセスすると、ランダムにhtmlファイルを表示させるようにしたいです。 ”均等に”と言うのが難しいかもしれませんが、何か良い方法はあるでしょうか? 私自身Perlの知識がなく、1から記述する事ができないので、そのようなCGIを配付しているサイトを教えて頂ければ助かります。 よろしくお願い致します。

    • ベストアンサー
    • CGI
  • 数千の配列をランダムに並べて表示

    数千の配列をランダムに並べて表示させるプログラムを作りたいと思っています。プログラムはPHPを考えています。 例えば配列数を1000だとすると $file_name[0] = "files0"; $file_name[1] = "files1"; $file_name[2] = "files2"; $file_name[3] = "files3"; $file_name[4] = "files4"; ・・・ $file_name[999] = "files999"; だとします。この配列からランダムに重複無く表示したいと思っています。出力例として、 files3 files328 files1 files32 ・・・ files473 とこんな感じです。私の考えたアルゴリズムではランダムの数字を出力し、その配列が表示されていれば再度ランダムな数字を算出、配列が表示されていなければ表示し、配列が表示されたというフラグを付けます。 しかし、この方法だと最初はスムーズに出てくるのですが、最後にはなかなか出力されないようになります。当然といえば当然ですが。 アルゴリズムだけでも、ご存知の方ご教授いただけると幸いです。

    • ベストアンサー
    • PHP
  • MySQLにてランダムにデータを取得

    PHP4+MySQL4を使用しています。 MySQLのデータベースから、ランダムにデータを取得することはできますでしょうか? データを取得してPHPで乱数を発生させて、データをランダムに表示するという事は出来たのですが、取得の際にランダムで、というのは出来るのでしょうか? 宜しくお願い致します。

  • エクセルのランダム抽出について・・・

    エクセルのランダム抽出に付いて教えてください。 A列に1000人の名前が並んでいます。 これをB列に5~8名程度をランダムに表示させるやり方が 知りたいです。 できたらボタンをつけてそれを押すたびにB列の表示が ランダムに変わるやり方がわかると大変助かります。 もしごぞんじのかたがおりましたらぜひともご教授 くださいませm(__)m

  • matlabで迷路作成

    迷路作成のプログラミングをmatlabで作りたいと思っています。 作るアルゴリズムとしましては、壁伸ばし法で 『初めに大きな一部屋の迷路を用意し、乱数を用いて壁の一点を選び、自分自身とぶつからないように壁を伸ばしていく。伸ばせなくなったら、別の一点を選び、同じ操作を繰り返す。壁を作る場所がなくなったら終わる。壁を伸ばす方向は乱数で決める。』です。 一部屋は5×5の行列で、乱数は一様乱数を成分とする行列を使って、プログラミングしたいのですが、matlabの使い方がいまいち分からないため、それをどこにどう書けばいいかわかりません。 matlabに詳しい方、このアルゴリズムをプログラミングできる方は、やり方を詳しく教えていただけないでしょうか?よろしくお願いします。