問題タブ [tree-traversal]

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 に答える
948 参照

algorithm - この再帰アルゴリズムのビッグオー

バイナリ ヒープ構造を含む次のアルゴリズムを実行しました。

アルゴリズムが行うことは、基本的に、ルートを指定して Binary Heap をトラバースし、最小値 (つまり、ルートの値と一致する値) を保持するノードを見つけて格納することです。

現在、アルゴリズムの実行時間を Big O 表記で計算するのに問題があります。私が混乱している理由は、各ノードの左右の子をトラバースするために使用される再帰のためです。

O(1)を除くすべての操作は一定時間で実行されconcatます。しかし、このような再帰的なソリューションの実行時間を正確に計算するにはどうすればよいでしょうか?

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

jquery - jQueryは、クラスで最も近い前の兄弟を検索します

これが私が扱うようになる大まかなHTMLです:

私はからトラバースし.current_sub、最も近い前のものを見つけて、それに何かをする必要があり.par_catます。

.find("li.par_cat")の全負荷を返します.par_cat(ページに約30があります)。私は単一のものをターゲットにする必要があります。

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

algorithm - N 分木 - 対称かどうか

与えられた N 分木が、木のルート ノードを通る線に対して対称かどうかを調べます。二分木の場合は簡単です。ただしN分木の場合は難しそうです

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

tree - 二分木トラバーサルの抽象化

質問が多い非コンピュータサイエンス専攻の学生に説明しようとしています。

(1)木を横切るのは? 回路基板を移動する 1 と 0 を生成するのは単なるロジックですか、それとも実際のオンオフ スイッチですか? このツリーはどこにあり、ノードはその間に CPU/メモリが存在しますか?

(2) 1 と 0 の場合、回路はたとえば p=p.getLeft(); などの行を理解します。

私はグーグルやウィキを検索すると言いました。

0 投票する
19 に答える
108433 参照

javascript - jQueryオブジェクトからセレクターを取得するにはどうすればよいですか

からセレクター$(this)を取得する簡単な方法はありますか? セレクターで要素を選択する方法はありますが、要素からセレクターを取得するにはどうすればよいでしょうか?

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

generics - SYB または uniplate haskell での検索を一覧表示します

私はユニプレートとSYBを使用しており、リストを変換しようとしています

例えば

たとえば、ツリーをトラバースして、すべての [DataB] に値を追加したいと思います。

だから私の最初の考えはこれを行うことでした:

またはユニプレートを使用していた場合

問題は、完全なリストのみを検索したいということです。これらの検索のいずれかを実行すると、完全なリストとすべてのサブリスト (空のリストを含む) が検索されます。

もう 1 つの問題は、[DataB] の値が [DataB] を生成する可能性があることです。そのため、これが文字列内の文字を検索しないのと同じ種類の解決策であるかどうかはわかりません。

DataA1 と DataB3 でパターン マッチできましたが、実際のアプリケーションでは [DataB] がたくさんあります。親でのパターン マッチングは広範に行われます。

私が持っていたもう一つの考えは、

そしてそれを使って変身します。それはちょっと不自由に思えますが、もっと良い解決策があるはずです。

更新:これを行う必要がある主な理由は、

  1. [DataB]の順序を変更
  2. [DataB] に何かを追加

したがって、一致する mkT を作成するクールな方法をすべて知っている場合は、

B1:B2:B3:B4:[] ([DataB] の完全なリストと言えます)

そしてそうではない

B2:B3:B4:[]
またはその派生物。

私はただ弾丸を噛んで「DataBs」、データ型を作成し、それに対して単純なmkTマッチを行うことに賛成しています。

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

jquery - jquery ツリー トラバーサル prev() の問題

ラベルをクリックして、前のチェックボックスをオンにするのが好きです。次のコードを試しましたが、うまくいきません。2時間試しましたが、何が欠けていますか?

この質問を解決するのを手伝ってくれるのは誰ですか? どうもありがとう!

<label for="">psタグでこれを簡単に解決できることは知っていますが、それは問題ではありません。

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

c++ - バイナリ ツリーのトラバースに関する C++ の設計上の問題

別のツリーにコピーしたいバイナリツリー T があります。

すべてのノードで評価される visit メソッドがあるとします。

そして私は訪問者アルゴリズムを持っています

2 つの質問があります。

  1. ブーストグラフがこれを行うことがわかったので(頂点訪問者)、ファンクターベースのアプローチを使用することにしました。また、同じコードを繰り返してツリーをトラバースし、各ノードで異なることを行う傾向があります。これは、重複したコードを取り除くための良い設計ですか? 他にどのような代替デザインがありますか?
  2. これを使用して、既存のバイナリ ツリーから新しいバイナリ ツリーを作成するにはどうすればよいですか? 必要に応じて訪問ファンクターにスタックを保持できますが、それは訪問者のアルゴリズムに結び付けられます。
  3. ここにポストオーダートラバーサルを組み込むにはどうすればよいですか? 別のファンクタークラス?
0 投票する
6 に答える
2503 参照

tree - 再帰とスタックを使用せずに、バイナリ ツリーの順序どおりのトラバーサルを行うことはできますか?

再帰やスタックを使用せずにバイナリツリーを順番にトラバースするための解決策を誰かに教えてもらえますか?

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

algorithm - 複数の親を持つノードを処理するようにプレオーダーツリートラバーサルアルゴリズムを変更するにはどうすればよいですか?

私はしばらく探していましたが、別の解決策を見つけることができないようです。可能であれば、ノードが複数の親を持つことができるようなツリートラバーサルアルゴリズムが必要です(ここで素晴らしい記事を見つけました:データベースへの階層データの保存)。ルートノードから始めて、ノードのシーケンスと依存関係を決定できるようにするアルゴリズムはありますか(現在トポロジカルソートを読み取っています)?