इस ट्रैवर्सल विधि में, रूट नोड को अंतिम बार देखा जाता है, इसलिए नाम। सबसे पहले, हम बाएं सबट्री, फिर राइट सबट्री और अंत में रूट नोड को पार करते हैं।
हम A, . से शुरू करते हैं और पोस्ट-ऑर्डर ट्रैवर्सल के बाद, हम पहले बाएं सबट्री पर जाते हैंB. बी पोस्ट-ऑर्डर भी किया जाता है। प्रक्रिया तब तक चलती है जब तक सभी नोड्स का दौरा नहीं किया जाता है। इस ट्री के पोस्ट-ऑर्डर ट्रैवर्सल का आउटपुट होगा -
डी → ई → बी → एफ → जी → सी → ए
यह वह एल्गोरिथम है जिसे हम लागू करेंगे -
- बाएं सबट्री को रिकर्सिवली ट्रैवर्स करें
- पुनरावर्ती रूप से दाएं उप-वृक्ष को पार करें
- नोड का डेटा प्रिंट करें
आइए देखें कि हम इसे अपनी कक्षा में कैसे लागू करेंगे।
postOrder() {postOrderHelper(this.root);}
हेल्पर फंक्शन -
उदाहरण
फ़ंक्शन पोस्टऑर्डर हेल्पर (रूट) { अगर (रूट! ==नल) { पोस्टऑर्डर हेल्पर (रूट। लेफ्ट); पोस्टऑर्डर हेल्पर (रूट। राइट); कंसोल.लॉग (रूट.डेटा); }}पूर्व>आप इसका उपयोग करके परीक्षण कर सकते हैं -
उदाहरण
बीएसटी =नया बाइनरीसर्च ट्री (); बीएसटी.insertRec (10); BST.insertRec (15); BST.insertRec (5); BST.insertRec (50); BST.insertRec (3); BST.insertRec ( 7);BST.insertRec(12);BST.postOrder();आउटपुट
यह आउटपुट देगा -
37512501510