問題タブ [radix]

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.

0 投票する
1 に答える
420 参照

c - 基数木、最大何人の子供?

http://en.wikipedia.org/wiki/Radix_tree したがって、関数の代わりに、isLeafの代わりに整数値を使用しました。しかし、エッジの配列にはいくつの要素が必要ですか?各ノードの最大子数はいくつですか?

0 投票する
2 に答える
19561 参照

javascript - Javascript: 大きな整数の場合は toString(36)

15955067621307336078.toString(36);は、大きな整数を表すことができないため、Javascript で返します'3d7vzfy5k2as8'(正解は です'3d7vzfy5k29ou')。

大きな整数を文字列として受け取り、それを base 36 に変換する賢い関数を誰かが持っていますか?

0 投票する
5 に答える
18561 参照

java - Can you store multiple integers at one array index?

I'm trying to do a radix sort and some algorithms I've seen have a buckets[ ] array that's supposed to hold multiple integers into one index of the bucket array, here is the algorithm I'm referring to:

here is the algorithm I'm referring to

Is it really possible to have multiple integers in one index? And how so?
Or is there a simpler radix sort algorithm out there?

0 投票する
1 に答える
3291 参照

algorithm - h(k) = k mod m、ここで、k は基数 2^p および m = 2^p – 1 で解釈される文字列です。h(x) = h(y) であることを示します。

完全な質問は次のとおりです。

ハッシュ関数を考えてみましょう:

h(k) = k mod mここで、k は基数 2 pで解釈される文字列で、m = 2 p – 1 です。文字列内の文字を並べ替えることで、文字列とハッシュを同じ値にy導出できることを示します。x ⇒ xy

この問題を解決するには 2 つの方法があると判断しました。私はそれを示すことができます

h(x) - h(y) = 0また

h(x) = (x * (2 p - 1)) % (2 p - 1) これは、使用する x に関係なく、常に 0 になります。

オンラインでいくつかの解決策を調べましたが、この問題に非常に混乱しています。私の最大の問題は、基数情報を使用してこの問題を解決する方法がわからないことだと思います。

この問題をどのように開始すればよいかについてのヒントを得ることができますか?

0 投票する
1 に答える
1261 参照

c - Cでの基本的な基数トライの実装

私は現在、ここ(ウィキペディア)で説明されているアルゴリズムを実装しています。
この記事では、2つの主要な構造について説明しています。

  • エッジの配列を含むノード
  • ターゲットノードへのポインタとラベルを含むエッジ

したがって、現在、Cコードに2つの構造体がradix_node_sあります。radix_edge_s

エッジ構造を非表示にして、その包含をターゲットノードとマージできるかどうか疑問に思いました。したがって、エッジラベルはノードの新しいフィールドになります。

これを行うのに良い方法でしょうか、それとも何かが恋しいですか?

0 投票する
0 に答える
206 参照

pi - 別のベースで PI を計算するにはどうすればよいですか?

10 進数で PI を計算するためのリソースはたくさんあります。私はこれをかなり速く行うことができました:http://en.literateprograms.org/Pi_with_Machin 's_formula_(Python)

しかし、別のベースでそれを計算するにはどうすればよいですか? これを行うためにそのコードを変更できますか?

0 投票する
3 に答える
1895 参照

java - Java - スレッド基数ソート

私は基数ソートのさまざまなバリエーションに取り組んできました。最初はチェインを使用していましたが、これは非常に遅かったです。次に、val % (10 * pass) を使用しながらカウント ソートを使用し、最近ではそれをそれぞれのバイトに変換し、それらをカウント ソートして、負の値でもソートできるようにしました。

マルチスレッドで試してみたかったのですが、約半分の時間しか動作しません。誰かが私のコードを見て、スレッドのどこが間違っているかを確認できるかどうか疑問に思っていました。各スレッドカウントを各バイトでソートします。ありがとう:

0 投票する
2 に答える
5791 参照

c# - バイト配列の Base-N エンコーディング

数日前、Base-36 でバイト配列をエンコードするためのこの CodeReviewに出会いました。ただし、その後の回答では、デコードしてバイト配列に戻したり、回答を再利用して異なる基数 (基数) のエンコーディングを実行したりすることには触れていません。

リンクされた質問の回答は BigInteger を使用しています。したがって、実装に関する限り、基数とその桁はパラメーター化できます。

ただし、BigInteger の問題は、入力を想定された整数として扱っていることです。ただし、入力であるバイト配列は、不透明な一連の値にすぎません。

  • {0xFF,0x7F,0x00,0x00} など、バイト配列が一連のゼロ バイトで終わる場合、これらのバイトは、回答でアルゴリズムを使用すると失われます ({0xFF,0x7F} のみをエンコードします。
  • 最後のゼロ以外のバイトに符号ビットが設定されている場合、後続のゼロ バイトは BigInt の符号区切り文字として扱われるため消費されます。したがって、{0xFF,0xFF,0x00,0x00} は {0xFF,0xFF,0x00} としてのみエンコードされます。

.NET プログラマーが BigInteger を使用して、デコーディングのサポートに加えて、エンディアンを処理する機能と、失われる末尾のゼロ バイトを「回避」する機能を備えた、合理的に効率的で基数に依存しないエンコーダーを作成するにはどうすればよいでしょうか?

0 投票する
2 に答える
249 参照

algorithm - 大きな整数を格納するための最も効率的なベースを見つけるアルゴリズム

非常に大きな整数は、Java や C のように最もプリミティブな 'int' または 'long' 型の場合のように単純なバイナリ表現とは対照的に、数字の可変長配列としてメモリに格納されることがよくあります。これを念頭に置いて、計算できるアルゴリズムを知りたいです:

  1. 整数の桁に特定の基数を使用して BigInteger (または同等の任意精度の算術構造) として格納することがより効率的になる前に、整数が到達しなければならないカウント

  2. この大きな整数の桁を格納するのに最も効率的な基数はどれか。

「効率」について言及しました。これにより、私は主にそのような BigInteger が消費するスペースの量に関心があることを意味しますが、処理速度や時間の複雑さについてのコメントも聞きたいです.

0 投票する
3 に答える
3072 参照

math - 任意の基数で整数を表すために必要な長さを計算する

任意の基数での整数の表現の長さがあります。長さが 15 で、基数が 36 だとします。次に、この整数の表現が別の任意の基数でどのくらいの長さになるかを計算したいと思います。つまり、基数 2 に変換すると、長さが 68 になる場合があります。

私はそれが以下の線に沿っていることを知っていますが、床と天井に必要なものについて頭を悩ませることはできません.