একটি ট্রি ডিলিট করতে হলে ট্রির প্রতিটি নোড ট্রাভার্স করে সেগুলো এক এক করে ডিলিট করতে হয়। এটি এক এক করে ট্রির সব নোড ডিলিট করে এবং ট্রিকে খালি করে। এর জন্য আমাদের একটি মেথড লাগে যা ট্রি নিচ থেকে উপরে ট্রাভার্স করে যাতে নিচের নোডগুলো আগে ডিলিট হয় তারপর তাদের পেরেন্ট, যাতে কোনো এক্সট্রা জটিলতা না হয়। এই শর্ত অনুযায়ী, পোস্ট-অর্ডার ট্রাভার্সাল সবচেয়ে উপযুক্ত এবং দক্ষতার সাথে কাজ করে।
নিচের ট্রির পোস্ট-অর্ডার:
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 2 Node deleted, value is 6 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