問題タブ [data-structures]

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

c# - C# のツリー データ構造

C# でツリーまたはグラフのデータ構造を探していましたが、提供されていないと思います。その理由について、C# 2.0 を使用したデータ構造の広範な調査。この機能を提供するために一般的に使用される便利なライブラリはありますか? おそらく、記事で提示された問題を解決するための戦略パターンを通じて.

独自の ArrayList を実装するのと同じように、独自のツリーを実装するのは少しばかげていると感じます。

不均衡な一般的なツリーが必要です。ディレクトリツリーを考えてみてください。 C5は気の利いたように見えますが、それらのツリー構造は、ノードの階層を表すよりも検索に適したバランスの取れた赤黒ツリーとして実装されているようです。

0 投票する
21 に答える
350875 参照

algorithm - 2 つのスタックを使用してキューを実装する方法は?

2 つのスタックがあり、他の一時変数はないとします。

2 つのスタックのみを使用してキュー データ構造を「構築」することは可能ですか?

0 投票する
24 に答える
60702 参照

c - 前のノードへのポインターが使用できない場合に、単一のリンクされたリストから中間ノードを削除する

前のノードへのポインターではなく、削除するノードへのポインターしか入手できない場合、単一のリンクされたリストの中間ノードを削除することは可能ですか?削除後、前のノードは次のノードを指す必要があります。ノードを削除しました。

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

c - C でのオープンソース基数/mtrie 実装?

ルーティングの実装に優先するデータ構造としてRADIX / MTRIEを使用するつもりです。

私の目的に使用できる適切なオープンソース実装 (freebsd-net 以外) はありますか? それとも自分で作成する必要がありますか?

0 投票する
18 に答える
1004632 参照

python - 辞書のリストを辞書の値でソートするにはどうすればよいですか?

辞書のリストがあり、各項目を特定の値で並べ替えたいと考えています。

リストを考慮してください:

でソートするnameと、次のようになります。

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

c - C の空間データ構造

私は高性能クラスターで理論化学の仕事をしており、多くの場合、分子動力学シミュレーションが関係しています。私の研究が取り組む問題の 1 つは、テスト粒子が衝突する可能性のある N 次元 (通常は N = 2 ~ 5) の超球体の静的フィールドに関係しています。迅速な衝突検出を行えるように、球体のフィールドを表すために使用するデータ構造を最適化 (つまりオーバーホール) しようとしています。現在、N メンバーの構造体 (中心の座標ごとに double) へのポインターの単純な配列と最近傍リストを使用しています。oct-tree と quad-tree について聞いたことがありますが、それらがどのように機能するか、効率的に実装する方法、または 1 つを使用して高速な衝突検出を行う方法についての明確な説明は見つかりませんでした。私のシミュレーションのサイズを考えると、メモリは (ほとんど) オブジェクトではありませんが、サイクルはオブジェクトです。

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

c# - TextWriter/StringBuilder よりも効率的なテキスト スプーラはありますか

たとえば、ページがレンダリングされているときにすべての output.write 呼び出しを受け取り、それらが stringbuilder を介して textwriter に追加されている場合など、テキストを段階的にキャプチャするような状況の場合。

これを行うより効率的な方法はありますか?dotnet に既に存在するものが望ましいですか? 特に合計サイズが 100 k を超える場合。連続したメモリではなく、ページの配列のようなものでしょうか?

0 投票する
10 に答える
1518 参照

c# - 継承ツリーを下にキャストすることにより、C# での「ゆるい」タイピング

したがって、私が尋ねたい質問は次のとおりです。

抽象クラス内から継承ツリーを (つまり、より特殊化されたクラスに向かって) キャストすることは許されますか、それとも良いことでしょうか?

さて、それが良いことに使えると私が思う理由の例。

最近、C# でBitTorrent プロトコルから Bencoding を実装しました。データをどのように表現するかという単純な問題です。こうすることにしたのですが、

Bencoded 文字列を必要な構造にデコードするために使用されるなど、いくつかの基本的な機能を提供するabstract BItemクラスがあります。static BItem Decode(string)

、、、およびの4 つの派生クラスもありBString、エンコードされる 4 つの異なるデータ型を表します。さて、ここがトリッキーな部分です。また、これらのデータ型の配列のような性質にアクセスできるように、それぞれとアクセサーを持っています。BIntegerBListBDictionaryBListBDictionarythis[int]this[string]

潜在的に恐ろしい部分が今来ています:

さて、あなたは写真を手に入れます... 痛い、それは脳は言うまでもなく、目にも難しいです. そこで、抽象クラスに何か特別なものを導入しました。

これで、古いコードを次のように書き直すことができます。

うわー、さてさて、はるかに読みやすいコードです。しかし、サブクラスの知識を抽象クラスに暗示するために魂の一部を売っただけですか?

編集:いくつかの回答が寄せられたことに応じて、構造が可変であるため、この特定の質問については完全に軌道に乗っていませんtorrent["info"]["files"][0]["length"]torrent["announce-list"][0][0]そこに。ジェネリックは、少なくともこの問題では進むべき道ではありません:(。私がリンクした仕様をクリックしてください。それは4つの小さなドットポイントだけです。

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

data-structures - サブツリーに対応するノードの特定の名前はありますか?

Webサイトのナビゲーション階層を設計しています。これはノードのツリーです。ノードはWebページを表します。

ツリー上のいくつかのノードは特別です。それらの名前が必要です。

そのようなノードは複数あります。それぞれが、異なるロゴ、スタイルシート、またはレイアウトを持つページを持つサブツリーの「ルート」です。さまざまな部門について考えてみてください。

色分けされたサブツリーを含むサイトマップhttp://img518.imageshack.us/img518/153/subtreesfe1.gif

このタイプのノードには何という名前を付ける必要がありますか?

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

c++ - C/C++ プロジェクトですべてのデータ型サイズと関数スタック フットプリント サイズを取得する方法は?

大規模な継承された C/C++ プロジェクトがあります。すべてのデータ型の「sizeof」に関するレポート、およびそのようなプロジェクトの各関数のスタック フットプリントの内訳を生成するための優れたツールまたは手法はありますか。