Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में रिकर्सन के बिना इनऑर्डर ट्री ट्रैवर्सल


यदि एक बाइनरी ट्री को इन-ऑर्डर में ट्रैवर्स किया जाता है, तो पहले बायां सबट्री देखा जाता है, फिर रूट और बाद में दायां सब-ट्री। इनऑर्डर ट्रैवर्सल में आउटपुट कुंजी आरोही क्रम में होती है। यह रिकर्सन के बिना इनऑर्डर ट्री ट्रैवर्सल के लिए एक C++ प्रोग्राम है।

एल्गोरिथम

Begin      Function inOrder():       Declare a stack s.       Declare the current node as root.       While current node is not null and stack is not empty do          While current node is not null do             Push the current node on the top of the stack             Make the left child node as current node          Point the current node at the top of the stack.          Pop the top most node from the stack          Print the current node.          Make the right node as current node.         Insert some elements at root, left node and right node in stack.       Call the inOrder() function to traverse the tree. End.

उदाहरण कोड

#include<bits/stdc++.h> using namespace std; struct n {    int d;    struct n* l;    struct n* r;    n (int d) {       this->d = d;       l = r = NULL;    } }; void inOrder(struct n *root) {    stack<n *> s;    n *current = root;    while (current != NULL || s.empty() == false) {       while (current != NULL) {          s.push(current);          current = current->l;       }       current = s.top();       s.pop();       cout << current->d << " ";       current = current->r;    } } int main() {    struct n *root = new n(7);    root->l = new n(6);    root->r = new n(2);    root->l->l = new n(1);    root->l->r = new n(9);    inOrder(root);    return 0; }

आउटपुट

1 6 9 7 2

  1. C++ में रिकर्सन के बिना N-एरी ट्री का प्रीऑर्डर ट्रैवर्सल C++ में रिकर्सन के बिना N-एरी ट्री का प्रीऑर्डर ट्रैवर्सल

    इस समस्या में, हमें एक N-एरी ट्री दिया गया है। हमारा कार्य ट्री का प्रीऑर्डर ट्रैवर्सल प्रिंट करना है।पहले, आइए कुछ बुनियादी शब्दावली सीखें,N-एरी ट्री एक ट्री है जिसमें सभी नोड्स में अधिकतम N चाइल्ड नोड्स हो सकते हैं। उदाहरण 2-एरी (बाइनरी) ट्री में अधिकतम 2 चाइल्ड नोड्स होते हैं।प्रीऑर्डर ट्रैवर्सल

  1. C++ प्रोग्राम बाईसेक्शन मेथड के लिए C++ प्रोग्राम बाईसेक्शन मेथड के लिए

    फंक्शन f(x) दिया गया है जिसमें संख्या a और b हैं जहां, f(a) * f(b) > 0 और फंक्शन f(x) a और b के बीच होना चाहिए यानी f(x) = [a, b]। कार्य बाईसेक्शन मेथड का उपयोग करके फंक्शन f(x) में अंतराल a और b के बीच स्थित रूट का मान खोजना है।बाईसेक्शन मेथड क्या है?बाईसेक्शन मेथड का उपयोग फंक्शन f(x) में दिए ग

  1. C++ में दिए गए बाइनरी ट्री का इनऑर्डर रिकर्सिव ट्रैवर्सल करने का प्रोग्राम C++ में दिए गए बाइनरी ट्री का इनऑर्डर रिकर्सिव ट्रैवर्सल करने का प्रोग्राम

    ट्री ट्रैवर्सल ग्राफ ट्रैवर्सल का एक रूप है। इसमें ट्री के प्रत्येक नोड को ठीक एक बार चेक या प्रिंट करना शामिल है। बाइनरी सर्च ट्री का इनऑर्डर ट्रैवर्सल ट्री के नोड्स को (लेफ्ट, रूट, राइट) के क्रम में विजिट करता है। बाइनरी ट्री के इनऑर्डर ट्रैवर्सल का एक उदाहरण निम्नलिखित है। एक बाइनरी ट्री निम्नलिख