問題タブ [inorder]
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.
inorder - 事前注文、事後注文、および順序ツリーの描画
プレオーダー、ポストオーダー、インオーダーの描画ルールは次のとおりです。
- トラバーサルの事前注文: ルート、左、右
- ポストオーダー トラバーサル: 左、右、ルート
- 順序通りのトラバーサル: 左ルート、右
たとえば、次のような式があるとします。
ABCDEFGHIJKL、
この式を個別に (事前注文、事後注文、注文順で) 描画するにはどうすればよいですか。それぞれ (事前注文、事後注文、注文順) で異なる形式のツリーが存在する可能性があります。(つまり、事前注文の 2 つの形式)。(事前注文と順序どおり) または (事後注文と順序どおり) の両方がある場合は、一意のツリーを持つことができます。予約注文では、最初のノードがルートです (つまり、「A」がルートです)。ポストオーダーでは、最後のノードがルートです (つまり、「L」がルートです)。
これらの木を描くための全体的な公式または「ルール」はありますか? 私はそれらを描くことができません
編集:次のトラバーサルの各プレオーダー、ポストオーダー、インオーダーからツリーを構築する方法を意味します:
ABCDEFGHIJKL、
algorithm - preorder&inorder または postorder&inorder トラバーサルに基づいて非バイナリ ツリーを構築するにはどうすればよいですか?
データ構造とアルゴリズムのクラスの 2 つの演習は、次のように聞こえます。
preorder トラバーサルが 1, 2, 5, 3, 6, 10, 7, 11, 12, 4, 8, 9 で、inode トラバーサルが 5, 2, 1, 10, 6, 3, 11, 7、12、8、4、9。
後順トラバーサルが 5, 2, 10, 6, 11, 12, 7, 3, 8, 9, 4, 1 で、inode トラバーサルが 5, 2, 1, 10, 6, 3, 11, であるツリーを構築します。 7、12、8、4、9。
プログラミング言語で実装することなく、ツリーの構造を描画するだけで済みます。この作業を困難にしているのは、木が二分木ではないことです。ツリーを構築するためにどのようなテクニックを使用できますか?
inorder - プレオーダー、ポストオーダー、インオーダー式の二分木を構築
インターネットと「ユーチューブ」を検索しましたが、これに関する適切なチュートリアルが見つかりませんでした。「後置」で特定の式の対応する「バイナリツリー」を描画するにはどうすればよいですか?
そして、この表現は中置詞と接頭辞でどのように見えるでしょうか?
これを段階的にどのように行うべきかわかりません:(
18 5 1 + / 4 * 3 5 18 6 / - + -
ノート:
前順、後順、およびインオーダーを描画するためのルールは次のとおりです。 1. 前順トラバーサル: ルート、左、右 2. 後順トラバーサル: 左、右、ルート、 右
試験に必要です
c++ - インオーダーサクセサーの再帰コードでセグフォルトを見つける
こんにちは、二分探索木で再帰コードを練習しているところです。セグ フォールトが発生していますが、問題がどこにあるのかわかりません (おそらく何かばかげたことに直面しているのでしょう)。ノード数のカウントやツリーの高さのカウントなど、正常に機能している他の関数があります。特にこの機能は私に問題を引き起こしています。私はc ++でコーディングしています。
私が持っていたアイデアは、関数をルートから一度右に移動させ、次に可能な限り左に続けることでした。root->data が temp->data (データはランダムに生成された int にすぎない) と等しい場合にのみ、正しく実行したいと考えています。
java - バイナリ ツリーのポスト オーダー トラバーサル
二分木のツリートラバーサルをコーディングすることを学んでいます。これまでのところ、ネット上の多くのチュートリアルからこれを思いつきました。ただし、トラバーサルを行おうとすると、無限ループに陥ります。どこが間違っていますか?
ありがとう!
binary-tree - 「ATTA」を指定して二分木をインオーダーおよびポストオーダー トラバーサルとして描画します
in order と post order トラバーサルの両方でノードを order で処理する二分探索木を描くように依頼されました"ATTA"
。私はさまざまな方法を試しましたが、最終的にはトラバーサル方法の 1 つにしか機能しません。
c - C のバイナリ ツリーでの順序ツリー トラバーサル
以下のコードでは、insert 関数を使用してバイナリ ツリーを作成し、in-order トラバーサルのロジックに従う inorder 関数を使用して挿入された要素を表示しようとしています。実行すると、数値が挿入されますが、inorder を試すとfunction( input 3) の場合、プログラムは何も表示せずに次の入力を続行します。論理エラーが発生している可能性があります。クリアするのを手伝ってください。前もって感謝します...