এখানে লিঙ্কড লিস্ট ব্যবহার করে বাইনারি সার্চ ট্রি বাস্তবায়নের একটি C++ প্রোগ্রাম দেওয়া হলো।
শুরু
ট্রির নোডগুলো ইনপুট নিন।
nod স্ট্রাকচার তৈরি করুন ডেটা d, বাম পয়েন্টার l এবং ডান r ইনপুট लेने के জন্য।
create() ফাংশন তৈরি করুন ট্রিতে নোড ইনসার্ট করার জন্য:
c = 0 ইনিশিয়ালাইজ করুন নোড সংখ্যা হিসেবে।
c < 6 পর্যন্ত হোইল লুপ চালান:
রুট লিখুন।
নোডের মান লিখুন, যদি রুটের চেয়ে বড় হয় তবে ডান পাশে অন্যথায় বাম পাশে।
inorder() ফাংশন তৈরি করুন নোড ইনঅর্ডার ট্রভার্স করার জন্য: বাম – রুট – ডান।
preorder() ফাংশন তৈরি করুন নোড প্রিঅর্ডার ট্রভার্স করার জন্য: রুট – বাম – ডান।
postorder() ফাংশন তৈরি করুন নোড পোস্টঅর্ডার ট্রভার্স করার জন্য: বাম – ডান – রুট।
main()- থেকে ফাংশনগুলো কল করুন এবং রেজাল্ট প্রিন্ট করুন।
শেষ
#includeusing namespace std; struct nod { nod *l, *r; int d; } *r = NULL, *p = NULL, *np = NULL, *q; void create() { int v, c = 0; while (c < 6) { if (r == NULL) { r = new nod; cout << "enter value of root node\n"; cin >> r->d; r->r = NULL; r->l = NULL; } else { p = r; cout << "enter value of node\n"; cin >> v; while (true) { if (v < p->d) { if (p->l == NULL) { p->l = new nod; p = p->l; p->d = v; p->l = NULL; p->r = NULL; cout << "value entered in left\n"; break; } else if (p->l != NULL) p = p->l; } else if (v > p->d) { if (p->r == NULL) { p->r = new nod; p = p->r; p->d = v; p->l = NULL; p->r = NULL; cout << "value entered in right\n"; break; } else if (p->r != NULL) p = p->r; } } } c++; } } void inorder(nod *p) { if (p != NULL) { inorder(p->l); cout << p->d << endl; inorder(p->r); } } void preorder(nod *p) { if (p != NULL) { cout << p->d << endl; preorder(p->l); preorder(p->r); } } void postorder(nod *p) { if (p != NULL) { postorder(p->l); postorder(p->r); cout << p->d << endl; } } int main() { create(); cout << " traversal in inorder\n"; inorder(r); cout << " traversal in preorder\n"; preorder(r); cout << " traversal in postorder\n"; postorder(r); }
enter value of root node 7 enter value of node 6 value entered in left enter value of node 4 value entered in left enter value of node 3 value entered in left enter value of node 2 value entered in left enter value of node 1 value entered in left traversal in inorder 1 2 3 4 6 7 traversal in preorder 7 6 4 3 2 1 traversal in postorder 1 2 3 4 6 7