N未満の一意の番号の固定シーケンスをエンコードして生成します

ユーザー

範囲内の数字(すべてを使用することが可能である)の部分を使用して数値の任意のシーケンスを作成することが可能となる0まで2^n-1すべての番号が一意であるシーケンスを考えてみましょう。

たとえばn = 4、の場合、いくつかのシーケンスは次のとおりです。

4 2 5 7 11 3
15 1 6
6 5 8 2 3 10 12 13 4

質問:シーケンス全体を格納するためにメモリを使用せずにそのようなシーケンスを生成することは可能ですか?

私はF、ビット操作のみを行い、前の数値を使用して次の数値を与える、ある種の関数について考えています。シーケンスの例7 3 5 9F(7)=3F(3)=5F(5)=9

Fシーケンスを事前に知っている場合、そのような関数を構築するにはどうすればよいですか?

エリック・ポストピシル

いいえ、一般的ではありません。母関数Fを実装するために、シーケンスSを文字通りメモリで表す必要はありませんが、関数FはシーケンスSを効果的にエンコードするため、メモリが必要です。

(母関数Fは、iがシーケンスの要素であるF(i)がシーケンスの次の要素であるか、iが最後の要素である場合は、それを示す値であるような関数です。)

もちろん、些細な0、1、2、3、…などの一部のシーケンスが小さな関数によって生成される可能性があります。ただし、いくつかのビットbを考慮してください。bビットでエンコードできるさまざまな関数の数は最大2bです(ソースコード、マシンコード、抽象的な数学的表現など、必要なエンコードスキームを使用します)。異なるシーケンスの数は2n!であるため、必要な異なる母関数の数は2 n!です。

従って2 B ≥2 N!ので、ログ≥B 2(2 nは!)。したがって、任意のシーケンスの母関数を2 n保持するのに十分なメモリが必要な場合は、少なくともlog 2(2 n!)ビットが必要です。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

pysparkの一意の行のシーケンス列を生成します

分類Dev

すべての一意のkビットサブシーケンスを含むすべてのnビットシーケンスを生成します。

分類Dev

シーケンス番号で一意のレコードを取得する方法

分類Dev

TABLOCKXを使用せずに、特定の基準に基づいて一意の連続したシーケンス番号を生成します

分類Dev

すべての一意のkサブシーケンスを生成します

分類Dev

Webアプリケーションの一意のURLを生成します

分類Dev

すべてのレシートに一意のクーポン番号を生成するphpコード

分類Dev

すべての5ビット連続サブシーケンスが一意である最長ビットシーケンスを生成します

分類Dev

パンダ-N未満の場合は一意の行を削除します

分類Dev

uuidを使用した一意のトークンが同じコードを生成しています

分類Dev

一意のIDを生成するためにHibernateシーケンスを更新します

分類Dev

一意の ID シーケンスを生成する

分類Dev

整数の配列を一意のintにエンコードします

分類Dev

ランダムで一意の番号を生成し、データベースに挿入します

分類Dev

Pythonリストを一意の値のインデックスとしてエンコードする

分類Dev

特定の行を使用して特定の列に値を代入するためのコードインデックス番号または一意のID?

分類Dev

コンポジットPK。一意の他の複合キーパーツごとに新しいシーケンシャルキーを生成します

分類Dev

コンポジットPK。一意の他の複合キーパーツごとに新しいシーケンシャルキーを生成します

分類Dev

4つの小さい数値プリミティブ型をlong(Int64)にエンコードして、一意のキーを生成します。

分類Dev

Railsコンソールを使用して一意のシードデータを特定できますか

分類Dev

列のセルに一意の番号を連続して生成するためのvbaコード

分類Dev

設定されたアイテムが一意であることがわかるまでアイテムにシーケンス番号を割り当ててから、シーケンス内の次の番号にジャンプします

分類Dev

RDSを使用しないAWSの一意のシーケンス番号ジェネレーター?

分類Dev

Wordpress-アトミック操作を使用してランダムな一意の番号を生成し、データベースを更新します

分類Dev

すべてのアナグラムに同じ一意のハッシュコードを生成します

分類Dev

総当たり攻撃なしでランダムで一意の4桁のコードを生成します

分類Dev

時間範囲内に最低n個のレコードを表示するすべての一意のエントリを選択します

分類Dev

Java8ストリーム-2つのコレクションをマージして特定のフィールドごとに一意にします

分類Dev

Javascriptの一意の乱数ジェネレーターが一意の番号を生成していません

Related 関連記事

  1. 1

    pysparkの一意の行のシーケンス列を生成します

  2. 2

    すべての一意のkビットサブシーケンスを含むすべてのnビットシーケンスを生成します。

  3. 3

    シーケンス番号で一意のレコードを取得する方法

  4. 4

    TABLOCKXを使用せずに、特定の基準に基づいて一意の連続したシーケンス番号を生成します

  5. 5

    すべての一意のkサブシーケンスを生成します

  6. 6

    Webアプリケーションの一意のURLを生成します

  7. 7

    すべてのレシートに一意のクーポン番号を生成するphpコード

  8. 8

    すべての5ビット連続サブシーケンスが一意である最長ビットシーケンスを生成します

  9. 9

    パンダ-N未満の場合は一意の行を削除します

  10. 10

    uuidを使用した一意のトークンが同じコードを生成しています

  11. 11

    一意のIDを生成するためにHibernateシーケンスを更新します

  12. 12

    一意の ID シーケンスを生成する

  13. 13

    整数の配列を一意のintにエンコードします

  14. 14

    ランダムで一意の番号を生成し、データベースに挿入します

  15. 15

    Pythonリストを一意の値のインデックスとしてエンコードする

  16. 16

    特定の行を使用して特定の列に値を代入するためのコードインデックス番号または一意のID?

  17. 17

    コンポジットPK。一意の他の複合キーパーツごとに新しいシーケンシャルキーを生成します

  18. 18

    コンポジットPK。一意の他の複合キーパーツごとに新しいシーケンシャルキーを生成します

  19. 19

    4つの小さい数値プリミティブ型をlong(Int64)にエンコードして、一意のキーを生成します。

  20. 20

    Railsコンソールを使用して一意のシードデータを特定できますか

  21. 21

    列のセルに一意の番号を連続して生成するためのvbaコード

  22. 22

    設定されたアイテムが一意であることがわかるまでアイテムにシーケンス番号を割り当ててから、シーケンス内の次の番号にジャンプします

  23. 23

    RDSを使用しないAWSの一意のシーケンス番号ジェネレーター?

  24. 24

    Wordpress-アトミック操作を使用してランダムな一意の番号を生成し、データベースを更新します

  25. 25

    すべてのアナグラムに同じ一意のハッシュコードを生成します

  26. 26

    総当たり攻撃なしでランダムで一意の4桁のコードを生成します

  27. 27

    時間範囲内に最低n個のレコードを表示するすべての一意のエントリを選択します

  28. 28

    Java8ストリーム-2つのコレクションをマージして特定のフィールドごとに一意にします

  29. 29

    Javascriptの一意の乱数ジェネレーターが一意の番号を生成していません

ホットタグ

アーカイブ