[解決済み] Rubyにバイナリ検索は組み込まれていますか?
2022-02-19 20:31:12
質問
と同じ機能を持つRubyの組み込みメソッドを探しています。
index
が、バイナリ検索アルゴリズムを使用するため、事前にソートされた配列が必要です。
自分で実装を書けるのは分かっているのですが、" によると。 Ruby#indexメソッドVSバイナリサーチ 組み込みのメソッドはCで書かれているため、indexで使用される組み込みの単純な繰り返し検索は、純粋なRubyバージョンのバイナリ検索より高速です。
Rubyにはバイナリサーチを行う組み込みメソッドはありますか?
どのように解決するのですか?
Ruby 2.0導入
Array#bsearch
と
Range#bsearch
.
Ruby 1.9 の場合は
bsearch
と
binary_search
の宝石を使用することができます。
他の可能性としては、配列とは異なるコレクションを使用することです。
を使って
rbtree
bsearch
は私の
backports
ジェム
しかし、これは純粋なRuby版なので、かなり遅いです。純粋なRubyのバイナリ検索は、以下のような線形組み込み検索よりも依然として高速であることに注意してください。
index
または
include?
十分に大きな配列や範囲(あるいは高価な比較)の場合、同じ程度の複雑さではないので
O(log n)
対
O(n)
.
今日から遊ぶには
require 'backports/2.0.0/array/bsearch'
または
require 'backports/2.0.0/range/bsearch'
.
がんばってください
関連
-
[解決済み】Ruby: 特定のバージョンのruby gemをインストールする方法は?
-
[解決済み] 配列に何かを追加しようとしたときに、nil から整数への暗黙の変換が行われない。
-
[解決済み] ルビー.天井と.床
-
[解決済み] Rubyのswitch文の書き方
-
[解決済み] Rubyで配列に値が存在するかどうかを確認する方法
-
[解決済み] Rubyからシェルコマンドを呼び出す方法
-
[解決済み] Rubyでnilとemptyとblankを理解する方法
-
[解決済み] Rubyで文字列を小文字・大文字に変換する方法
-
[解決済み] Rubyのattr_accessorとは何ですか?
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Ruby、スタックレベルが深すぎる (SystemStackError)
-
[解決済み] Ruby Detect方式
-
[解決済み] Rubyでリモートホストの到達可能性をpingで確認する方法
-
[解決済み] Rubyで日付文字列をパースする
-
[解決済み] rubyでディレクトリからすべてのファイルを要求する最良の方法?
-
[解決済み] string literal in condition "とはどういう意味ですか?
-
[解決済み] gemのインストール中に "permission denied "エラーが発生するのはなぜですか?
-
[解決済み] 変数が整数であるかどうかのチェック
-
[解決済み] Rubyで指定されたディレクトリが存在するかどうかを確認する方法
-
[解決済み] 構文エラー、予期しない ',', 期待する ')' 。