問題タブ [bitvector]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 追加のデータ構造を使用せず、小文字を想定せずに、文字列にすべての一意の文字があると判断する
これは、Gayle Laakmann McDowell によるCracking the Coding Interviewブックの質問の 1 つです。
文字列にすべての一意の文字が含まれているかどうかを判断するアルゴリズムを実装します。追加のデータ構造を使用できない場合はどうなりますか?
著者は次のように書いています。
ビットベクトルを使用することで、スペースの使用量を少し減らすことができます。以下のコードでは、文字列が小文字
'a'
から'z'
. これにより、int を 1 つだけ使用できるようになります。
著者はこの実装を持っています:
「文字列は小文字のみ」という仮定を取り除くとしましょ'a'
う'z'
。代わりに、文字列には、ASCII 文字や Unicode 文字など、あらゆる種類の文字を含めることができます。
作成者と同じくらい効率的なソリューション (または、作成者のものと同じくらい効率的であることに近いソリューション) はありますか?
関連する質問:
c++ - char 配列からビットを読み取る
サイズ 2kB のバッファを取り、特定のコンテンツをロードする関数があります。機能は正常に動作すると推測できますが、テストすることはできません。
関数のプロトタイプは
unsigned long はロードするブロックの番号 (サイズはブロックごとに 2kB に固定) であり、コンテンツがロードされる場所はバッファです。
ここで、バッファーをビットごとに反復処理し、1 に等しい最初のビットを見つける必要があります。
バッファのサイズが 2kB であることを確認するために、変数を作成しました
しかし、文字の配列をビットごとに反復するにはどうすればよいですか?
このようなものでよろしいでしょうか?
基本的に、if条件が有効かどうか悩んでいますか?op '&' をそのように実行できますか?
common-lisp - LISP の 2 つのビット ベクトル間の距離
一般的な Lisp を使用して 2 つのビット ベクトル間の距離を計算する際に問題が発生しています。
私はLispを初めて使用し、これが人工知能の宿題の最後の宿題の問題であり、私が遭遇している問題は構文の問題であると信じています。
質問は次のとおりです。
1 と 0 のリストで表される同じ長さの 2 つのビット ベクトル間に再帰関数 DISTANCE を記述します。例えば、
(距離 '(1 0 1 1) '(0 1 0 1))
答え: 3
ベクトルの長さが異なる場合、何をしなければならないかを議論します。
私の理解では、2 つのビット ベクトル間の距離は、単純に 2 つを XOR してから 1 をカウントアップすることです。
この例を使用すると、1011 ^ 0101 = 1110 となり、3 になります。
これが距離を計算する正しい方法であると仮定すると、私の問題は、これを再帰的にすることに加えて、lisp で XOR する方法を見つけることです。
logxor
2 つのリストを取得して(ここに表示)のような形式に変換し、結果のリストの 1 を数え上げるにはどうすればよいでしょうか?
やろうとすると(logxor '(1 0 1 1) '(0 1 0 1))
、'(1 0 1 1) は整数ではないためlogxor
、リストでは機能しないようで、途方にくれます。
あなたが提供できる助けをいただければ幸いです
ありがとう!
c - ビットベクトルの計算パリティをすばやく知る方法
私はCでビットベクトルを扱っています.私unsigned long long
のビットベクトルは. 多数のベクトルについて、パリティ、つまり 1 であるビットの数が偶数か奇数かを知る必要があります。
正確な値は重要ではなく、パリティだけです。1の数を計算してチェックするよりも速いものがあるかどうか疑問に思っていました。何かを考えてみましたが、何も見つかりませんでした。
これをどのように機能させたいかの簡単な例:
hashtable - ビットベクトルはメモリ位置を保存しますか?
コンピューターサイエンスワールドさん、こんにちは。
私はこの質問に答えようとしています..
ビット ベクトルは、単純にビット (0 と 1) の配列です。長さ m のビット ベクトルは、m 個のポインターの配列よりもはるかに少ないスペースしか必要としません。ビット ベクトルを使用して、衛星データのない個別の要素の動的なセットを表す方法を説明してください。ディクショナリ操作は O(1) 時間で実行する必要があります。
私の考えでは、ビットベクトルを使用して要素のメモリ位置を格納できます.2つの要素が同じキーを持っていないと仮定しているため、ハッシュ関数を使用してメモリ位置を格納し、O(1)時間でアクセスできます. .
ビットベクトルはメモリ位置を保存しますか?
そうでなければ、誰かが私を約束の地に案内してくれませんか.
ありがとう
python - またはz3Pyのビットベクトルの
理想的には、ビットベクトルとして表される 2 つの数値を「論理和」することが可能ですが、私にはできません。コードにエラーがあるかどうか教えてください。
与えられたエラーは
このエラーから、Or は bool 変数に対してのみ実行できることがわかりました。私の質問は、または BitVectors の方法です
z3 - SMT-LIB ベンチマーク
いくつかの SMT ソルバーのベンチマークを行いたいのですが、SMT-LIB Benchmark リポジトリ [1,2] は開始するのに適しているようです。
ただし、リンクは少なくとも数日間ダウンしています。これらのベンチマークを見つけることができる他の場所を知っている人はいますか?
[2] http://smtexec.org/exec/smtlib-portal-benchmarks.php
編集:
ベンチマークは次の場所にあります。