इस ट्रैवर्सल मेथड में, रूट नोड को पहले विजिट किया जाता है, फिर लेफ्ट सबट्री और अंत में राइट सबट्री।

हम A से शुरू करते हैं, और प्री-ऑर्डर ट्रैवर्सल का पालन करते हुए, हम पहले A को ही विजिट करते हैं और फिर इसके लेफ्ट सबट्री B पर जाते हैं। B को भी प्री-ऑर्डर में ट्रैवर्स किया जाता है। प्रक्रिया तब तक चलती है जब तक सभी नोड्स विजिट नहीं हो जाते। इस ट्री का प्री-ऑर्डर ट्रैवर्सल आउटपुट होगा:
A → B → D → E → C → F → G
यह वह एल्गोरिदम है जिसे हम लागू करेंगे:
- नोड के डेटा को प्रिंट करें
- रिकर्सिवली लेफ्ट सबट्री को ट्रैवर्स करें
- रिकर्सिवली राइट सबट्री को ट्रैवर्स करें
आइए देखते हैं कि हम इसे अपनी क्लास में कैसे लागू करेंगे।
preOrder() {
preOrderHelper(this.root);
}
हेल्पर फ़ंक्शन:
उदाहरण
function preOrderHelper(root) {
if (root !== null) {
console.log(root.data);
preOrderHelper(root.left);
preOrderHelper(root.right);
}
}
आप इसका परीक्षण इस तरह कर सकते हैं:
उदाहरण
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.preOrder();
आउटपुट
इससे निम्न आउटपुट मिलेगा:
10 5 3 7 15 12 50