問題タブ [hashtable]

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 投票する
4 に答える
26658 参照

c# - C# - json 形式のデータをネストされたハッシュテーブルに解析する

C# で json 形式のデータを処理しようとしていますが、問題にアプローチする適切な方法を判断するのに問題があります。私の問題は、json 形式のデータが不明な形式になることです (奇妙に聞こえるかもしれませんが、読み進めてください)。基本的に、json 形式のデータは名前と値のペアのコレクションであり、値はネストされた名前と値のペアの配列である場合とそうでない場合があります。さらに面白くするために、名前と値のペアの配列のネストを無限に続けることができます。

例: 次のようなデータがあるとします…</p>

残念ながら、ネストがどの程度発生するかはわかりません。また、技術的には、特定のメッセージにどのような名前/値のペアが含まれるかもわかりません。

これをネストされた一連の hastables に簡単に解析できるようにする、C# でサポートされているメカニズムはありますか?

私は次のようなことをしたいと思っています (このコードは構文的に 100% 正しいわけではなく、再帰を介して実行した方がよいことに注意してください … しかし、アイデアは理解できます)。

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

java - HashTableJava...私のコードを確認できますか

私はJavaでハッシュテーブルのクラスを書いています...これまでに正しく行っていることを確認してください。

StudentRecordオブジェクトを格納する必要があります....long型の学生のIDに基づいてハッシュ値を計算しています...

0 投票する
6 に答える
40884 参照

c# - C# Foreach ループのハッシュテーブルの問題

キーとしての質問と値としての回答の配列リストをハッシュテーブルに入力するコードがあります。

次に、ハッシュテーブルからこれらの値を出力して、ハッシュテーブル内の個々の質問ごとに質問と対応する解決策を表示したいと考えています。

ハッシュテーブルの内容を出力するために foreach ループでまったくばかげたことをしたことは知っていますが、数時間コーディングを続けていて、ネストされた配列リストを出力するロジックが思いつきません。

大変助かりました。

コードは次のとおりです。

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

algorithm - 三分木とハッシュテーブル

三分木がハッシュテーブルよりも優れているかどうかを知る必要があります。

この質問に出くわしたのは、別の質問への回答で、三分木はハッシュ テーブルよりも高速であることが多いと誰かが言ったときでした。信じがたいことだったので、少し調べてみることにしました。

プリンストンからのこの 1 つの Web サイトは、信念の源のようです。O(log n + k) と記述されているアルゴリズムを調べました。ここで、n は格納されている単語の数、k はキーの長さです。

これを高速化する唯一の方法は、まだ保存されていない要素を頻繁に検索する場合です。私を悩ませているもう 1 つのことは、トライの非連続的なクロールにより、スワップ アウトされたページにヒットする傾向があることですが、これが大きな影響であるかどうかは、ベンチマークによってのみ確認できます。

どちらにもおそらく長所と短所があることがわかったので、もしそうなら、それらが何であるかを知りたい. ベンチマークも役立ちます。

0 投票する
4 に答える
6632 参照

algorithm - 空のハッシュ テーブルに n 個の要素を挿入する実行時間

ハッシュテーブルに入れるには、償却された O(1) が必要だと人々は言います。したがって、n 個の要素を配置することは O(n) でなければなりません。ただし、回答者が言ったように、「予想される償却された O(1) を満たすために必要なのは、テーブルを拡張し、衝突が発生したときに新しいランダム ハッシュ関数を使用してすべてを再ハッシュすることだけです。」

では、ハッシュ テーブルに n 個の要素を挿入する平均実行時間は? これはおそらく実装に依存していると思いますので、どのタイプの実装について話しているのかを述べてください。

たとえば、(log n) 個の等間隔の衝突があり、各衝突の解決に O(k) かかる場合 (k はハッシュテーブルの現在のサイズ)、次の再帰関係が得られます。

(つまり、時間をかけて n/2 要素を挿入すると、衝突が発生し、解決に n/2 がかかり、衝突なしで残りの n/2 挿入が行われます)。これでも O(n) になってしまいます。しかし、これは合理的ですか?

0 投票する
4 に答える
1193 参照

c - このコードが C でメモリを割り当てないのはなぜですか?

更新された質問はこちら

HashTable のメモリ割り当ての問題

私は C で HashTable の作成に取り組んでいます。これが私が行ったことです。私は正しい道を進んでいると思いますが、そうしようとすると

main.c

HashTable.c

ListPtr は LinkedList ptr です

List.h

HashTable.h

デバッガーを実行すると、myList にメモリが割り当てられていません。上記の例では、私の試みはそれを 10 個のリストの配列にすることです。

これを解決するのを手伝ってください。

それが助けになるなら、私はCの専門家ではありません。

0 投票する
4 に答える
2803 参照

data-structures - 内部反復なしの 3 項目 HashMap

3 項目の hashMap を実装する最良の方法は何ですか? たとえば、通常の String key を使用したいのですが、それを 2 つの異なるオブジェクトにマップします。アイデアは、最初の項目がキーであることを除けば、リストのリストを持つようなものです。

リストを繰り返し処理することを避けようとしています (そのため、動作は hashmap のようになります)。新しいクラスを構築することが唯一の方法であることに同意しますか? 「HashMap3」オブジェクト ( get1( key ) & get2( key ) のメソッドを使用) が役立つようです。これを自分で設定する方法がわかりません。

コレクションを作成するにはどうすればよいですか?

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

c# - C# ハッシュテーブルを初期化する最も簡潔な方法

C# では、1 行の式でハッシュテーブルを設定できますか? 以下のPythonに相当するものを考えています:

つまり、各キーと値のペアを個別の式で設定する代わりの方法はありますか?

0 投票する
7 に答える
2820 参照

c++ - リンクされたリストを持つハッシュ テーブルの上位 10 の頻度

以下のコードは、ハッシュ テーブル (リンクされたリストの束) で見つけられる最高頻度を 10 回出力します。ハッシュ テーブルに上位 10 個の頻度を出力するコードが必要です。これを行う方法がわかりません(コード例は素晴らしいでしょう、プレーンな英語のロジック/疑似コードも同様に素晴らしいです)。

  1. ハッシュテーブル「hashtable」を指す「tmp」という一時的なハッシュリストを作成します
  2. その後、while ループがリストを調べて、int 'tmp->freq' である最高周波数を探します。
  3. ループは、ハッシュ テーブルのリンク リストの最後に到達するまで、変数 'topfreq' を使用して検出した最高頻度を複製するこのプロセスを続行します。

私の「ノード」は、変数「freq」(int) と「word」(128 文字) で構成される構造体です。ループで他に検索するものがなくなると、これら 2 つの値が画面に表示されます。

問題は、私が見つけたばかりの数から次に低い数を見つける方法を考え出すことに頭を悩ませることができないことです (そして、これには同じ freq 値を持つ別のノードが含まれる可能性があるため、単語がも同じではありません)。

ありとあらゆる助けをいただければ幸いです:)

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

c# - ハッシュテーブルのキーをアルファベット順にトラバースする方法は?

ハッシュテーブルのキーをアルファベットの昇順でトラバースする最も簡単な方法は何ですか?