Modul 2 [Traversal BST] - lab-kcks/Modul-STRUKDAT GitHub Wiki

Pengertian Traversal

Proses traversal adalah proses melakukan kunjungan pada setiap node pada suatu binary tree tepat satu kali. Dengan melakukan kunjungan secara lengkap, maka akan didapatkan urutan informasi secara linier yang tersimpan dalam sebuah binary tree.

Traversal Binary Search Tree

Terdapat 3 cara melakukan traversal pada Binary Search Tree, yaitu Preorder, Inorder, dan postorder.

Preorder Traversal

Preorder traversal

Sumber gambar : https://www.techiedelight.com/wp-content/uploads/Preorder-Traversal.png

Primary Function

void traversePreorder() {
    __preorder(_root);
}

Utility Function

void __preorder(BSTNode *root) {
    if (root) {
        printf("%d ", root->key);
        __preorder(root->left);
        __preorder(root->right);
    }
}

Inorder Traversal

Inorder traversal

Sumber gambar : https://www.techiedelight.com/wp-content/uploads/Inorder-Traversal.png

Primary Function

void traverseInorder() {
    __inorder(_root);
}

Utility Function

void __inorder(BSTNode *root) {
    if (root) {
        __inorder(root->left);
        printf("%d ", root->key);
        __inorder(root->right);
    }
}

Postorder Traversal

Postorder traversal

Sumber gambar : https://www.techiedelight.com/wp-content/uploads/Postorder-Traversal.png

Primary Function

void traversePostorder() {
    __postorder(_root);
}

Utility Function

void __postorder(BSTNode *root) {
    if (root) {
        __postorder(root->left);
        __postorder(root->right);
        printf("%d ", root->key);
    }
}

Referensi

⚠️ **GitHub.com Fallback** ⚠️