এটি একটি বাইনারি সার্চ ট্রির (Binary Search Tree) ন্যূনতম মান খুঁজে বের করার প্রোগ্রাম।
অ্যালগরিদম
শুরু
nd নামক স্ট্রাকচার ডিক্লেয়ার করুন
d ইন্টিজার ডেটা টাইপ ডিক্লেয়ার করুন
lt পয়েন্টার nd টাইপের স্ট্রাকচারে ডিক্লেয়ার করুন
rt পয়েন্টার nd টাইপের স্ট্রাকচারে ডিক্লেয়ার করুন
new_nd() ফাংশন nd টাইপের স্ট্রাকচারে ডিক্লেয়ার করুন
d ইন্টিজার ডেটা টাইপ ডিক্লেয়ার করুন
প্যারামিটার হিসেবে পাস করুন
nd পয়েন্টার nd টাইপের স্ট্রাকচারে ডিক্লেয়ার করুন
nd = (struct nd*) malloc(sizeof(struct nd)) ইনিশিয়ালাইজ করুন
nd->d = d
nd->lt = NULL
nd->rt = NULL
return(nd)
শেষ
শুরু
add_node() ফাংশন nd টাইপের স্ট্রাকচারে ডিক্লেয়ার করুন
nd পয়েন্টার nd টাইপের স্ট্রাকচারে ডিক্লেয়ার করুন
d ইন্টিজার ডেটা টাইপ ডিক্লেয়ার করুন
প্যারামিটার হিসেবে পাস করুন
যদি (nd == NULL) হয়, তবে
return(new_nd(d))
অন্যথায়
যদি (d <= nd->d) হয়, তবে
nd->lt = add_node(nd->lt, d)
অন্যথায়
nd->rt = add_node(nd->rt, d)
return nd
শেষ
শুরু
minimum_val() ফাংশন ইন্টিজার টাইপে ডিক্লেয়ার করুন
nd পয়েন্টার nd টাইপের স্ট্রাকচারে ডিক্লেয়ার করুন
প্যারামিটার হিসেবে পাস করুন
cur পয়েন্টার nd টাইপের স্ট্রাকচারে ডিক্লেয়ার করুন
cur = nd ইনিশিয়ালাইজ করুন
যতক্ষণ (cur->lt != NULL) করুন
cur = cur->lt
return(cur->d)
root পয়েন্টার nd টাইপের স্ট্রাকচারে ডিক্লেয়ার করুন
root = NULL ইনিশিয়ালাইজ করুন
root = add_node(root, 54)
add_node(root, 32)
add_node(root, 25)
add_node(root, 45)
add_node(root, 65)
add_node(root, 75)
প্রিন্ট "The Minimum value of the given binary search tree is: "
বাইনারি ট্রির ন্যূনতম মান প্রিন্ট করুন
getchar()
শেষ
উদাহরণ কোড
#include <bits/stdc++.h>
using namespace std;
struct nd {
int d;
struct nd* lt;
struct nd* rt;
};
struct nd* new_nd(int d) {
struct nd* nd = (struct nd*) malloc(sizeof(struct nd));
nd->d = d;
nd->lt = NULL;
nd->rt = NULL;
return(nd);
}
struct nd* add_node(struct nd* nd, int d) {
if (nd == NULL)
return(new_nd(d));
else {
if (d <= nd->d)
nd->lt = add_node(nd->lt, d);
else
nd->rt = add_node(nd->rt, d);
return nd;
}
}
int minimum_val(struct nd* nd) {
struct nd* cur = nd;
while (cur->lt != NULL) {
cur = cur->lt;
}
return(cur->d);
}
int main() {
struct nd* root = NULL;
root = add_node(root, 54);
add_node(root, 32);
add_node(root, 25);
add_node(root, 45);
add_node(root, 65);
add_node(root, 75);
cout << "The Minimum value of the given binary search tree is: " << minimum_val(root);
getchar();
return 0;
}
আউটপুট
The Minimum value of the given binary search tree is: 25