কম্পিউটার টিউটোরিয়াল

সি প্রোগ্রামিং-এ ট্রি (Tree) ডিলিট করার প্রোগ্রাম

একটি ট্রি ডিলিট করতে হলে ট্রির প্রতিটি নোড ট্রাভার্স করে সেগুলো এক এক করে ডিলিট করতে হয়। এটি এক এক করে ট্রির সব নোড ডিলিট করে এবং ট্রিকে খালি করে। এর জন্য আমাদের একটি মেথড লাগে যা ট্রি নিচ থেকে উপরে ট্রাভার্স করে যাতে নিচের নোডগুলো আগে ডিলিট হয় তারপর তাদের পেরেন্ট, যাতে কোনো এক্সট্রা জটিলতা না হয়। এই শর্ত অনুযায়ী, পোস্ট-অর্ডার ট্রাভার্সাল সবচেয়ে উপযুক্ত এবং দক্ষতার সাথে কাজ করে।

নিচের ট্রির পোস্ট-অর্ডার:

2-6-4-12-17-15

পোস্ট-অর্ডার ট্রাভার্সাল কীভাবে কাজ করে:

বাম চাইল্ড নোড চেক → রুট নোড চেক → ডান চাইল্ড নোড চেক

সি প্রোগ্রামিং-এ ট্রি (Tree) ডিলিট করার প্রোগ্রাম

উদাহরণ কোড

#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
  1. N-ary ট্রির ডায়ামিটার বের করার পাইথন প্রোগ্রাম

  2. N-ary ট্রির রুট নোড খুঁজে বের করার প্রোগ্রাম

  3. N-ary ট্রির কপি (ক্লোন) তৈরি করার প্রোগ্রাম

  4. পাইথনে ট্রির বামপাশের গভীরতম নোড খুঁজে বের করার প্রোগ্রাম