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

বাইনারি সার্চ ট্রিতে লouest কমনാന্সেটর (LCA) বের করার C++ প্রোগ্রাম


একটি বাইনারি ট্রি যেটির সর্বোচ্চ দুটি চাইল্ড থাকে, যাদের বাম চাইল্ড ও ডান চাইল্ড বলে নির্দিষ্ট করা হয়। এটি বাইনারি ট্রিতে লouest কমন আনসেস্টর (LCA) বের করার একটি C++ প্রোগ্রাম।

অ্যালগরিদম

শুরু d ডেটা, l বাম চাইল্ড পয়েন্টার ও r ডান চাইল্ড পয়েন্টার ঘোষণা করতে n স্ট্রাকচার তৈরি করুন।    নিউনোড তৈরির ফাংশন তৈরি করুন। LCA() ফাংশন কল করুন বাইনারি ট্রিতে লouest কমন আনসেস্টর বের করতে:    নোড n1 ও n2 ট্রিতে আছে ধরে নিন।    যদি root নাল হয়, তবে রিটার্ন করুন।       যদি root নাল না হয় তবে দুটি কেস থাকে।          a) যদি n1 ও n2 দুটোই root-তে ছোট হয়, তবে LCA বাম পাশে আছে।          b) যদি n1 ও n2 দুটোই root-তে বড় হয়, তবে LCA ডান পাশে আছে। শেষ।

উদাহরণ কোড

#include <iostream> using namespace std; struct n {    int d;    struct n* l, *r; }*p = NULL; struct n* newnode(int d) {    p = new n;    p->d = d;    p->l = p->r = NULL;    return(p); } struct n *LCA(struct n* root, int n1, int n2) {    if (root == NULL)       return NULL;    if (root->d > n1 && root->d > n2)       return LCA(root->l, n1, n2);    if (root->d < n1 && root->d < n2)       return LCA(root->r, n1, n2);       return root; } int main() {    n* root = newnode(9);    root->l = newnode(7);    root->r = newnode(10);    root->l->l = newnode(6);    root->r->l = newnode(8);    root->r->r = newnode(19);    root->r->l->r = newnode(4);    root->r->r->r = newnode(20);    int n1 = 20, n2 = 4;    struct n *t = LCA(root, n1, n2);    cout << "20 এবং 4-এর লouest কমন আনসেস্টর: " << t->d << endl;    n1 = 7, n2 = 6;    t = LCA(root, n1, n2);    cout << "7 এবং 6-এর লouest কমন আনসেস্টর: " << t->d << endl; }

আউটপুট

20 এবং 4-এর লouest কমন আনসেস্টর: 9 7 এবং 6-এর লouest কমন আনসেস্টর: 7

  1. Python দিয়ে পেরেন্ট পয়েন্টার ব্যবহার করে বাইনারি ট্রির লোয়েস্ট কমন অ্যান্সেস্টর বের করার প্রোগ্রাম

  2. Python দিয়ে বাইনারি ট্রির লোয়েস্ট কমন অ্যান্সেস্টর বের করার প্রোগ্রাম

  3. পাইথনে বাইনারি ট্রির Lowest Common Ancestor (সর্বনিম্ন কমন অ্যানসেস্ট্র)

  4. পাইথনে বাইনারি সার্চ ট্রিতে লোয়েস্ট কমন আনসেসটর