Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

Javascriptツリーでの注文後のトラバーサル


このトラバーサルメソッドでは、ルートノードが最後にアクセスされるため、この名前が付けられています。最初に左側のサブツリーをトラバースし、次に右側のサブツリーをトラバースし、最後にルートノードをトラバースします。

Javascriptツリーでの注文後のトラバーサル

A、から始めます 注文後のトラバーサルに続いて、最初に左側のサブツリーBにアクセスします。 B 注文後にトラバースされます。このプロセスは、すべてのノードにアクセスするまで続きます。このツリーのポストオーダートラバーサルの出力は-

になります。
D → E → B → F → G → C → A

これは、実装するアルゴリズムです-

  • 左のサブツリーを再帰的にトラバースします
  • 右のサブツリーを再帰的にトラバースする
  • ノードのデータを印刷する

クラスでどのように実装するかを見てみましょう。

postOrder() {
   postOrderHelper(this.root);
}

ヘルパー関数-

function postOrderHelper(root) {
   if (root !== null) {
      postOrderHelper(root.left);
      postOrderHelper(root.right);
      console.log(root.data);
   }
}

-

を使用してこれをテストできます

let BST = new BinarySearchTree();
BST.insertRec(10);
BST.insertRec(15);
BST.insertRec(5);
BST.insertRec(50);
BST.insertRec(3);
BST.insertRec(7);
BST.insertRec(12);
BST.postOrder();

出力

これにより、出力が得られます-

3
7
5
12
50
15
10

  1. データ構造におけるプレオーダーツリートラバーサル

    このセクションでは、二分探索木のための事前順序トラバーサル手法(再帰的)について説明します。 このようなツリーが1つあるとします- トラバーサルシーケンスは次のようになります:10、5、8、16、15、20、23 アルゴリズム preorderTraverse(root): Begin    if root is not empty, then       print the value of root       preorderTraversal(left of root)    

  2. データ構造におけるレベル順序ツリートラバーサル

    このセクションでは、二分探索木のレベル順トラバーサル手法について説明します。 このようなツリーが1つあるとします- トラバーサルシーケンスは次のようになります:10、5、16、8、15、20、23 アルゴリズム levelOrderTraverse(root): Begin    define queue que to store nodes    insert root into the que.    while que is not empty, do       item := ite