問題タブ [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.
tree - ツリーとプレフィックス (ポーランド語) 表記について
私の MIPS アセンブリ クラスでは、未知のサイズの式を解析ツリーに読み込む必要がありました。私は木を扱う必要がなかったので、これが私が値を保存する方法でした:
ユーザーが式 1 + 3 - 4 を入力したとします (各オペランドは 1 から 9 の数字のみです)。
一番左の子ノードが開始点となり、2 つのデータが含まれます
これが私がツリーを構築した方法です。読み込む値がなくなるまで、オペランドから演算子、次のオペランド、次の演算子へとポイントします。
私の次のタスクは、ツリーを再帰的にトラバースし、値を中置/前置/後置記法で出力することでした。
ツリーの構築方法を考えると、中置トラバーサルは問題ありませんでした。
私はプレフィックスにこだわっています。まず、私はそれを完全に理解していません。
プレフィックスで式 (1 + 3 - 4) を出力すると、- + 1 3 4 になりますか? オンラインの例に従うのに問題があります。
また、私のツリーは適切に構築されていると思いますか? つまり、現在のノードから前のノードに移動する方法がないということは、常に左端の子ノードからトラバーサルを開始する必要があるということです。
助けてくれてありがとう。
javascript - jQuery-「nextWhile」トラバージョンの提案?
jQueryには現在あります.next(filter)
が.nextAll(filter)
、これらの真ん中に収まるものが必要です。事実上、.nextWhile(filter)
フィルターが真でなくなるまで次に繰り返し実行し、その後停止します(最後まで続けるのではありません)。
これを示すために、以下はいくつかの単純化されたHTMLです-(実際には、動的に生成され、ランダムな順序/データ、より多くの列、適切なクラス名など)。
そしてこれに対していくつかのJavaScriptが実行されます:
nextWhile
この構成を実装する簡単な方法はありますか?
理想的には、これは現在のHTMLを変更せずに達成する必要があります。
jquery - jQuery で 9 レベル上を移動する
href タグでクリック イベントが発生し、9 レベル上の a のクラスを参照する必要があり、
それで:
私が知っている唯一の方法は、parent() を 9 回呼び出すことです。他に何ができますか?
c# - C#グラフトラバーサル
このアルゴリズムは、グラフ内のノードをトラバースするのに最適です。
これを使用して、グラフ内のターゲットノードを見つけることができます。ワークリストは、ワークリストが処理されるときにアイテムをデキュー(またはポップ)します。ターゲットを見つけたら、どうすればノードへのフルパスを返すことができますか?
更新 ルートへのパスを逆にする方法を理解しようとしています。このメソッドはルートノードで呼び出されます。その後、子には2つの親が存在する可能性があるため、各ノードで親プロパティを呼び出して元に戻すほど簡単ではありません。
このメソッドの目的は、パスを見つけることであり、すべてのノードを反復することではなく、ノードが存在するかどうかを確認することです。
xml - Actionscript3でXMLをトラバースする際の無限ループ
コードをこれに絞り込みました(色付けは無視してください)。
どういうわけか、これは「単語」を何度も何度も無期限に出力します。理由について何か考えはありますか?私は少し練習から外れていて、それが何か明白なことだと感じていますが、私は困惑しています。
ありがとう、キャメロン
python - Pythonの階層トラバーサルおよび比較モジュール?
私は日々の開発で多くの階層を扱っています。ファイルシステム、AutodeskMayaのネストされたDAGノードなど。
オブジェクトの階層をトラバースして比較するために特別に設計されたPython用の優れたモジュールはありますか?
特に興味深いのは、2つのほぼ同一の階層間で「あいまいな」比較を行う方法です。これを行う理由のいくつかは、アニメーションを一方から他方に転送するために、2つの異なるキャラクターからのMayaの2つのノード階層を一致させるためです。
私が読んでいることに基づいて、2つのノード名が互いにどれだけ近いかを比較するために、名前のしきい値(自分で作成できるもの)を持つものがおそらく必要になるでしょう。次に、子ノードが階層に表示される順序をオプションで無視する方法が必要です。最後に、ノードが階層の上下にわずかに移動した可能性がある場合に備えて、深度のしきい値を処理する必要があります。
javascript - javascriptを使用してノードを範囲内に配置するにはどうすればよいですか?
範囲オブジェクト内にあるすべてのDOMノードを取得しようとしていますが、これを行うための最良の方法は何ですか?
私はここ数時間方法を考えていて、これを思いついた:
ただし、終了ノードが開始ノードの親である場合、ページ上のすべてを返します。明らかな何かを見落としていると確信していますか?あるいは、まったく間違った方法でそれを行っているのかもしれません。
xpath - xPathトラバース
私はxPathを使用して新聞のコードを(練習のために)トラバースしようとしています。現在、主要な記事、写真、およびそれについての簡単な説明を取得したいと思います。しかし、私はこれまでのところxPathにそれほど熟練しておらず、簡単な説明にたどり着くことができません。
このコードで:
写真(キャプション付きまたはキャプションなし)を取得してから、記事のタイトルを取得したいと思います。私が使用することによって得ることができるこれらの3つのもの:
// div [@ class='fondoprincipal']<-メインの画像とキャプションを表示します
// a [@ class ='cabezaprincesto'] / text()<-記事のタイトルを教えてください
しかし、class = "resumenesto"のdivである小さな説明を取得できません。同じIDが残りのHTMLで何度も使用されているため、そのIDで何も取得しようとしませんでした。余分なアイテムがたくさん。
どうすればこの特定のものを入手できますか?それでは、別のWebページに解析するための良い方法を教えてくれる人はいますか?私はおそらくphpがそれらの値を使用していくつかのhtmlを書くことを考えていましたが、私は本当にわかりません...
編集
「この特定のもの」とは、div class="fondoprincipal"内にあるこのdivclass="resumenesto"を取得する方法です。..
編集2
ありがとうございます。xPathトラバーシングがもう少し明確になりました。しかし、私の2番目の質問について、別のWebページに解析するための良い方法を教えてくれる人はいますか?私はおそらくphpがそれらの値を使用していくつかのhtmlを書くことを考えていましたが、私は本当にわかりません。
c - Cのグラフ構造で特定のノードを検索するにはどうすればよいですか?
学校のプロジェクトのフェーズ1(3つのうち)は24時間であるため、結論に達し、コードを適応させるためにこれについて適切に話し合う時間があるわけではありませんが、少なくとも正しい決定をしたかどうかを知る必要があります。
リンクリストを使用しています。構造は次のとおりです。
基本的に、私にはたくさんの都市があり、それらの都市はグラフのようにすべて一緒にリンクされています。たとえば、A、B、C、D、およびEは、この順序で構造Cityに挿入されます。次に、AをB、CとD、BをC、D、E、CをD、EとDをEに接続します。
ここで、E市に行く必要があるとしましょう。これはリンクリストの最後の都市であり、リンクリストを最後まで通過するには時間がかかります。たぶん、この例では5つの都市ではありませんが、実際のアプリでは、少なくとも10,000の都市のようにサポートすることになっています。ただし、最短ルートはA(開始点)からCからE(またはADEまたはABEの場合もあります)です。
私の構造では、リンクリスト全体を1つずつトラバースすることなく、AからEへの最短ルートを見つけることができますか?そうでない場合、私は何を間違っていますか?
はいの場合、どうすればそれを行うことができますか?どうすればそのような道を見つけることができるのか分かりません...
find - HTMLトラバースとベストプラクティスの検索
ねえ、私はURLを取得して、htmlをトラバースし、必要なものや欲しいものを取得できるように、いくつかのクローラーを作成することを考えていました。PHP + xPathの使用を考えていましたが、それが最善の方法かどうかはわかりません。皆さんはどう思いますか?ベストプラクティス、推奨事項、またはその他のものはありますか?