কম্পিউটার

বাইনারি অনুসন্ধান পদ্ধতি ব্যবহার করে একটি প্রদত্ত সংখ্যার সংঘটনের সংখ্যা খুঁজে বের করার জন্য C++ প্রোগ্রাম


এটি একটি C++ প্রোগ্রাম বাইনারি অনুসন্ধান পদ্ধতি ব্যবহার করে একটি প্রদত্ত সংখ্যার সংঘটনের সংখ্যা খুঁজে বের করার জন্য।

অ্যালগরিদম

 ট্রিতে নোড সন্নিবেশ করতে Insert() ফাংশন শুরু করুন:আর্গুমেন্ট:রুট, ডি। ফাংশনের মূল অংশ:আর্গুমেন্ট তালিকা থেকে ডেটা ব্যবহার করে নোড তৈরি করুন। যদি গাছটি সম্পূর্ণ খালি থাকে, তাহলে রুট হিসাবে নতুন নোড ঢোকান। d =tmp->ডেটা হলে, সেই নির্দিষ্ট নোডের সংখ্যা বাড়ান। d ডেটা হলে, tmp পয়েন্টারটি বাম চাইল্ডে নিয়ে যান। যদি d> tmp-> ডেটা, tmp পয়েন্টারটিকে ডান চাইল্ডে নিয়ে যান। EndBegin ফাংশন SearchNode() ট্রিতে আইটেম অনুসন্ধান করতে:আর্গুমেন্ট:রুট, ডি। ফাংশনের মূল অংশ:একটি NULL পয়েন্টার বা ডেটা আইটেম পাওয়া না যাওয়া পর্যন্ত লুপ চালান। d ডেটা হলে, tmp পয়েন্টারটি বাম চাইল্ডে নিয়ে যান। যদি d> tmp-> ডেটা হয়, tmp পয়েন্টারটি ডান চাইল্ডে নিয়ে যান। যদি d =tmp-> ডেটা, পাওয়া আইটেমটি প্রিন্ট করুন এবং এটি গণনা হয় এবং তারপরে মূলে ফিরে যান। অন্যথায় প্রিন্ট ডেটা পাওয়া যায়নি। শেষ

উদাহরণ

#includeNamespace std;struct nod //node এর declaration{int data ব্যবহার করে; int cnt; নড *l; nod *r;};nod* CreateNod(int d) //নতুন নোডের সৃষ্টি{ nod *newnod =new nod; নিউনোড->ডেটা =ডি; newnod->cnt =1; newnod->l=NULL; newnod->r =NULL; রিটার্ন newnod;}nod* Insert(nod* root, int d) //perform insertion{ nod *tmp =CreateNod(d); nod *t =নতুন নড; t =root; if(root ==NULL) root =tmp; else { while(t !=NULL) { if(t->data ==d) { t->cnt++; বিরতি } else if(t->ডেটা r==NULL) { t->r=tmp; বিরতি } t =t->r; } else if(t->ডেটা> d) { if(t->l==NULL) { t->l=tmp; বিরতি } t =t->l; } } }রিটার্ন রুট;} void SearchNode(nod *root, int d) // সার্চিং সম্পাদন করুন{ nod *tmp =new nod; tmp =root; while(tmp !=NULL) { if(tmp->data ==d) { cout<<"\nডেটা আইটেম "<cnt<<" বার সংখ্যা।"; প্রত্যাবর্তন } else if(tmp->ডেটা> d) tmp =tmp->l; else tmp =tmp->r; } cout<<"\n ডেটা পাওয়া যায়নি"; return;}int main() { char c; int n, i, a[20] ={8,1,3,6,4,7,10,14,13,7,6,1,26,4,26,20,21,12,10,1 }; // অ্যারের নোডের উপাদানগুলি নিন *root =new nod; root =NULL; for(i =0; i <20; i++) root =Insert(root, a[i]); up:cout<<"\nঅনুসন্ধান করা উপাদানটি লিখুন:"; cin>>n; SearchNode(root, n); cout<<"\n\nআরো অনুসন্ধান করতে চান...পছন্দ লিখুন(y/n)?"; cin>>c; if(c =='Y' || c =='y') উপরে উঠুন; রিটার্ন 0;

আউটপুট

<প্রে> অনুসন্ধান করা উপাদানটি লিখুন:7 ডেটা আইটেম 7 2 বার উপস্থিত রয়েছে৷ আরও অনুসন্ধান করতে চান... পছন্দ(y/n) লিখুন? অনুসন্ধান করার জন্য উপাদানটি প্রবেশ করুন:6 ডেটা আইটেম 6 উপস্থিত 2 সংখ্যা বার.আরো অনুসন্ধান করতে চান...চয়েস(y/n) লিখুন?যথা অনুসন্ধান করা উপাদানটি প্রবেশ করান:4ডেটা আইটেম 4 2 বার উপস্থিত রয়েছে যে উপাদানটি অনুসন্ধান করা হবে:15ডেটা পাওয়া যায়নি আরো অনুসন্ধান করতে চান...চয়েস লিখুন
  1. C++ ব্যবহার করে পঞ্চভুজ পিরামিডাল নম্বর খুঁজুন

  2. C++ ব্যবহার করে একটি স্ট্রিং এর সাবস্ট্রিং এর সংখ্যা খুঁজুন

  3. C++ ব্যবহার করে স্টপিং স্টেশনের সংখ্যা খুঁজুন

  4. C++ ব্যবহার করে প্রদত্ত বিন্দু থেকে সম্ভাব্য চতুর্ভুজের সংখ্যা নির্ণয় করুন