2017-11-22 11 views
0

ビットストリングの長さを取得するアルゴリズムを作成しています(それが正しいトランスレーションである場合)。そして、ダブルヌルを含まないすべてのビットストリングを数えます。ダブルヌルのビットストリングをチェックする

たとえば、「10101」はカウントされ、「10010」はカウントされません。

ここで私の問題は、私はbitstringのための正しいデータ型を知らないと誰も助けることができますか?

答えて

0

"00"が含まれていない特定の長さのビット列の数を検索したいのですか?

これはO(log(the_length))時間で実行できます。このための良いアルゴリズムは実際にはビットストリングをまったく使用しないため、ビットストリングのデータ型は必要ありません。

ビットストリングを実際に作成して数えたい場合は、整数または1と0のいずれかの文字列を使用するのが一番簡単です。あなたの言語はおそらく、文字列を操作して二重ゼロをチェックすることを容易にします。使用するデータ型に関係なく、これはO(2^the_length)時間かかるでしょう。あなたが学んでいるので、それは問題ありませんが、何があっても遅いので、最も効率的な表現を選ぶことについてあまり心配しないでください。

関連する問題