問題タブ [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 投票する
2 に答える
4473 参照

java - inorder と preorder からのツリー走査

重複の可能性:
ツリーの構築

こんにちは、Java を使用してプログラムを作成し、特定の先行順序と順序でツリーを作成するにはどうすればよいですか。inorder を使用したツリー トラバーサルと preorder を使用したツリー トラバーサルを知っていますが、inorder と preorder の両方から一緒にツリーを作成するために同じことはできません

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

haskell - Haskell でのカタモルフィズムとツリートラバーシング

このSOの質問に関連するカタモルフィズムを理解することを楽しみにしています:)

Real World Haskell チュートリアルの最初の部分しか練習していません。だから、多分私は今あまりにも多くを求めるつもりです, もしそうなら, 私が学ぶべき概念を教えてください.

以下に、カタモルフィズムのウィキペディアのコード サンプルを引用します。

以下のfoldTree、ツリーをトラバースする方法、この他のSOの質問と回答と比較して、ツリーのn-aryツリートラバーサルをトラバースすることについてのあなたの意見を知りたいです。(バイナリかどうかは別として、以下のカタモルフィズムはn分木を扱うように書けると思います)

私が理解していることをコメントに入れました。修正していただけると幸いです。いくつかのことを明確にしてください。

この時点で私は多くの困難を抱えています.射の葉はどの葉にも適用されると推測しているようですが,このコードを実際に使用するには,foldTreeに定義されたTreeAlgebra,定義された射の葉を持つTreeAlgebraを供給する必要があります.何かをするために?
しかし、この場合、foldTree コードでは {f = leaf} を期待し、その逆ではありません

あなたからの明確化は大歓迎です。

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

python - 慣用的な Python: 歩留りの伝播またはシーケンスの平坦化?

私はの深さ優先のツリートラバーサル関数を書いています。私がやりたいことはこれです:

アイデアは、ツリー内のノードの (フラットな) シーケンスで終わることです。

アプローチ #1: (利回りの伝播)

アプローチ #2: (フラット化シーケンス)

yield最初のアプローチはよりクリーンに見えますが、各レベルでサブツリーの各ノードを明示的に指定するのは奇妙に感じます。

2 番目のアプローチは簡潔で少し汚れていますが、Haskell で記述したものと一致します。

だから私の質問は:どちらが良いですか?または、最適な 3 番目のオプションがありませんか?

0 投票する
11 に答える
80047 参照

algorithm - 事前注文から事後注文へのトラバーサル

二分探索木の前順トラバーサルが 6、2、1、4、3、7、10、9、11 の場合、後順トラバーサルを取得するにはどうすればよいですか?

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

algorithm - 各ノードでの訪問前と訪問後の深さ優先探索の反復

誰かが私に反復深さ優先ツリートラバーサルの擬似コードを教えてもらえますか?そこでは、事前注文と事後注文の両方で各ノードに対してアクションを実行できますか?

つまり、ノードの子に適切な前のアクション、次に子からの上昇後のアクションですか?

また、私のツリーはバイナリではありません。各ノードには0..n個の子があります。

基本的に、私の場合は再帰的走査を変換します。ここでは、再帰のいずれかの側である現在のノードで、子への前操作と後操作を実行します。

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

tree - Using Abstract base class type to traverse entire JAXB Object tree

The system hardware I write software for is physically connect via hardware in a tree structure. The data model in our application is a Tree. For our new rewrite, we're using JAXB to create the data model.

We have three types of Devices, and they all share some properties, so I made an Abtract DeviceType in the XSD schema. My three devices (Pushers, Switchers, Receivers) are all extended from the DeviceType in the XSD like this:

Pushers have only switcher child elements, and switchers can have both switcher or receiver children. Receivers are the end of the line (leaf nodes). xjc builds the classes. I got the Unmarshaller to construct the object tree, but I can't figure out how to get a getter method for getDevice(). For tree traversal, I was hoping JAXB would provide something like "getChildren", but I'm not seeing in in the API. If I get a switcher object, I have the methods for getSwitcher() and getReceiver(), but no getDevice() method. But I'm trying to avoid using instanceof when I do a full tree traversal. The Java code that xjc builds, does extend from the Device class, but I just haven't learned how to get a generic getter method for all devices. I just started with Jaxb two days ago and I have a ton to learn about the Jaxb API.

Yesterday was my first day playing with JAXB, I think this tool suits our system incredible well. Our hardware is literally a tree,we have multiple deployments, and using XML as our site config file to build a state model would be ideal.

Any suggestions for a JAXB novice here?

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

jquery - JQueryでネストされていないサブノードを選択する

クラスを持つネストされたdivを含むHTML構造がありますcontainer

これには、より多くのdivとより深い/異なるネストが含まれる可能性があります。

ツリーのある時点から始めて、他のコンテナ内にネストされていない、そのサブツリー内のすべてのコンテナを見つけたいと思います。たとえば、divからdivと#1を検索したいのですが、検索しません(既に見つかったコンテナにネストされているため)。#2#5#3#2

これを達成するための最良の方法は何でしょうか?

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

jquery - 複数回ラップ

要素に

jQueryを使用して、これを変換したいと思います:

の中へ:

どんな提案でも大歓迎です。

ありがとうございました!


PyDev でねじれたアプリケーションを実行する

Eclipse (3.5.2) PyDev モジュール (1.6.4) と Python (2.6.5) を使用して Twisted Application (10.0.0) をデバッグしたいと思います。コマンド ラインからアプリケーションを実行するには、次のように指定します。

c:\python26\python c:\python26\scripts\twistd.py -ny mytwistedapp.py

PyDev を使用してこれを実現するために、新しい PyDev プロジェクトを作成し、mytwistedapp.py と twistd.py をインポートしました。プロジェクトの実行構成の下で、メイン モジュールとして c:\python26\scripts\twistd.py を指定しました。Run -> Debug Configurations を選択すると、パラメーターなしで twistd.py が実行されます (途中までですよね?)。プログラム引数を実行構成 (-ny mytwistedapp.py) に追加しようとすると、twistd.py ではなく PyDev デバッガーによって処理されます。2 つの質問:

  1. twistd.py をメイン モジュールとして指定するのは正しい方法ですか?
  2. もしそうなら、twistd.py に mytwistedapp.py (-ny mytwistedapp.py) を実行するために必要なパラメーターを渡すにはどうすればよいですか?
0 投票する
2 に答える
12675 参照

python - BeautifulSoup解析ツリーでの深さ優先探索

BeautifulSoup解析ツリーでDFTを実行する方法はありますか?私はルートから始めて、通常はすべての子要素を取得し、次に子要素ごとに子を取得するなどのことをしようとしています。ターミナルノードに到達するまで、ツリーに戻る方法を構築します。 。問題は、これを可能にする方法が見つからないように見えることです。findChildrenメソッドを見つけましたが、それはページ全体をリストに複数回入れ、後続の各エントリが削減されるようです。これを使用してトラバーサルを実行できる可能性がありますが、リストの最後のエントリ以外に、エントリをターミナルノードとして識別する方法は表示されません。何か案は?

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

c++ - ツリーを介したトラバーサル..メモリアクセス違反の順序の問題

だから私は自分自身の練習として、この小さなコードの平和を書き上げました...

しかし、行*traverse_inorder(p->left)*で travers_inorder 関数に入り、 メモリ アクセス違反が発生し、プログラムがクラッシュします。どうして???何か案は?

更新: Visual Studio 2008 SP1 のビジュアル C++ コンパイラを使用しています