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

java - インオーダー ツリー トラバーサル

この種のツリーに InOrder トラバーサルを実装するにはどうすればよいですか? 演算子も出力する必要があります (3-2-1 など)。

私はこれらのクラスを持っています:

Tree

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

filesystems - スキームを使用してディレクトリ内のファイルに文字列を追加する

まず第一に、これは宿題の質問であるため、単純なコードなどを探しているわけではなく、誰かが私のロジックを手伝ってくれるだけであることに注意してください。

割り当ては DrRacket にあります。質問は尋ねます:

与えられた FileSystem は、name と contents の 2 つのフィールドを持つ構造体として定義されています。ここで、contents はディレクトリまたはファイルのリストです。ディレクトリ内のすべてのファイルに「.bak」ファイル名を作成し、ファイルの直後に配置する関数を作成します。

私は完全に迷っています。私の論理は次のとおりです。コンテンツ リストの最初のものがファイルの場合、そのファイルと「.bak」が追加された新しいファイルでディレクトリを作り直すだけです。これは私が得ることができる限りです-サブディレクトリがある場合に物事を解決する方法、またはリストをさらに下に移動する方法がわかりません。

これが私の凶悪なコードです:

誰でも私がこれを推論するのを助けることができますか?

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

python - Python: 最大再帰深度を超えました

次の再帰コードがあります。各ノードでSQLクエリを呼び出して、親ノードに属するノードを取得します。

エラーは次のとおりです。

SQLの結果を取得するために呼び出すメソッド:

私は実際には上記の方法に問題はありませんが、とにかく質問の適切な概要を説明するためにそれを置きます.

再帰コード:

再帰関数の呼び出し

辞書を印刷するコード、

再帰が深すぎると、再帰関数を呼び出すときにエラーが発生するはずですが、辞書を印刷するとこのエラーが発生します。

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

java - レベル順序、ツリー トラバーサル - レベルを追跡する方法は?

二分木をレベル順または幅優先順でトラバースしながらレベルを追跡するにはどうすればよいですか?

バイナリ ツリーのノードには、左右の参照のみがあります。

ノードの各行を区別できるようにしたい。

レベル順トラバーサルの方法は次のとおりです。

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

php - オブジェクトモデルの設計; 派生クラスの基本クラス認識

前文:基本クラスが派生型を認識して相互作用を行うのは悪い設計ですか?私はそうではないと思いますが、次の場合、どのようなアプローチを検討する必要がありますか?


言語はPHPですが、この質問はデザインパターンのより広い主題に関係していると思います

ノードとして機能するクラスのセットをモデル化しようとすると、ジレンマが発生します。私は自分のデザインの決定を2番目に推測し続けます、そしてそれは永続的な欲求不満につながります。

このパラメータのセットが与えられた場合:

  • ノードには親参照があります(一方向トラバーサル
  • Nodeから派生したオブジェクトタイプは、Nodeから派生した他のオブジェクトタイプの親(または子)になる可能性があります。

だから私は持っています:

ここで、私の設計のジレンマが発生します。トラバーサル中にNodeOne、インスタンス自体と、派生したタイプの他のインスタンスを見つける必要がある場合がありますAbstractNodeこの機能はインスタンスに限定されないことに注意してください。ただしNodeOne、これは単なる例です) 。

これにより、タイプ固有のトラバーサルで、たとえば、ツリーの上位にある特定のタイプのオブジェクトからのデータを集約できます。私はこの目的を果たすための方法を専門にすると思いました:

派生型はインスタンスをトラバースする必要がある可能性があるためNodeOne、このメソッドを基本クラスに配置することは理にかなっていますがAbstractNode、私の基本クラスでは派生型を認識する必要があります。

これは悪臭があると思いますが、この方法が他にどこに行けばいいのかわかりません。考えられる解決策の構造設計パターンについて読んでいます。


頭に浮かぶアナロジーはDOMであり、特定のタイプの祖先トラバーサルを実行します。

  • すべての祖先値bar[@id='8']の集計から: 結果fooid
    4 1

  • すべての祖先値bar[@id='7']の集計から: 結果fooid
    6 4 1

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

jquery - 選択せずにトラバースするJqueryツリー

近くの要素の値を取得しようとするjquery変数がいくつかありますが、機能しません。私はclosest()が正しいセレクターだと思いました。

JQUERY:

HTML:

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

jquery - Jqueryは要素をトラバースできません

.singleAnswer を選択しようとしていますが、機能していません。

Jクエリ:

HTML:

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

java - Javaでのツリートラバーサル

私は就職の面接のために勉強していて、木を見直していました、私はそれらを横断するときに問題はありませんが、私は正しい答えを見つけることができなかったという質問に行き着きました:

ルートノードへのポインタと、返したいノードのインオーダートラバーサル番号の2つのパラメータを指定して、ツリー内のノードを返す関数を記述します。ツリーに保存される唯一の情報は、各ノードの子の数です。

これまでのところ、ツリーに格納されている情報(子供の数)を気にする理由を理解することすらできませんでした。それ以外に、そのような木があると仮定した場合:

その場合、インオーダートラバーサルは次のようになります341547が、必要なノードを返すコードを理解できません(議論のために、インオーダートラバーサル番号は2であると想定しています。つまり、値1のノードが必要です)。

再帰的トラバーサルを実行しようとしましたが、最終的に内部カウンターをねじ込んでしまうため、別のアプローチを試し、すべてをスタックに配置しようとしましたが、正しく実行する方法がわかりません。これまでのところ:

再帰的アプローチの方が簡単でしたが、探している#があるかどうかを確認する方法がわかりません。

私はこれが木を横断することを知っていますが、それでも私が望むことを正確には行いません。どんな助けでもいただければ幸いです。

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

java - レベル オーダー トラバーサルの方法

二分木で線形順序トラバーサルを実行しようとしていますが、正しい出力が得られません。基本的に、キューを作成し、ルートをエンキューすることから始めます。キューが空になるまで、最初の要素をデキューし、その子をキューの最後に追加します。デキューすると、汎用要素 () が返されます。次のステップで子をキューの最後にエンキューできるように、この要素をツリー ノードに変換する際に問題があります。これまでに行ったことは次のとおりです。

BTPosition と NodeQueue の API は、http: //net3.datastructures.net/doc4/index.html?net/datastructures/ にあります。

どんな提案も本当に感謝しています..