একটি গাছ মুছে ফেলার জন্য আমাদের গাছের প্রতিটি নোড অতিক্রম করতে হবে এবং তারপর তাদের প্রতিটি মুছে ফেলতে হবে। এটি একে একে গাছের প্রতিটি নোড মুছে দেয় এবং এটি খালি করে দেয়। এর জন্য, আমাদের এমন একটি পদ্ধতি ব্যবহার করতে হবে যা গাছটিকে নিচ থেকে উপরের দিকে অতিক্রম করে যাতে আমরা প্রথমে নীচের নোটগুলি এবং তারপরে তাদের পিতামাতাকে মুছে ফেলতে পারি যাতে কোনও অতিরিক্ত জটিলতা সৃষ্টি না হয়। আমাদের প্রয়োজনীয় শর্তের উপর ভিত্তি করে, পোস্টঅর্ডার ট্রাভার্সাল সবচেয়ে উপযুক্ত হবে এবং দক্ষতার সাথে কাজ করবে যাতে আমাদের প্রোগ্রামটি সর্বোত্তম হবে।
নিম্নলিখিত গাছের পোস্ট-অর্ডার হল -
2-6-4-12-17-15
পোস্টঅর্ডার ট্রাভেল সেল কৌশলটি নিম্নলিখিত উপায়ে কাজ করে -
বাম চাইল্ডনোড চেক করে → রুটনোড চেক করে → ডান চাইল্ডনোড চেক করে
উদাহরণ
#include<stdio.h> #include<stdlib.h> struct node { int data; struct node* left; struct node* right; }; struct node* addnode(int data) { struct node* node = (struct node*) malloc(sizeof(struct node)); node->data = data; node->left = NULL; node->right = NULL; return(node); } void nodedel(struct node* node) { if (node == NULL) return; nodedel(node->left); nodedel(node->right); printf("\n Node deleted, value is %d", node->data); free(node); } int main() { struct node *root = addnode(9); root->left = addnode(4); root->right = addnode(15); root->left->left = addnode(2); root->left->right = addnode(6); root->right->left = addnode(12); root->right->right = addnode(17); nodedel(root); root = NULL; printf("\n Tree deleted "); return 0; }
আউটপুট
Node deleted, value is 4 Node deleted, value is 12 Node deleted, value is 17 Node deleted, value is 15 Node deleted, value is 9 Tree deleted