কম্পিউটার

ইউনিফর্ম বাইনারি অনুসন্ধান সম্পাদনের জন্য C++ প্রোগ্রাম


ইউনিফর্ম বাইনারি অনুসন্ধানে এখানে আমরা একটি লুকআপ টেবিল ব্যবহার করে বাইনারি অনুসন্ধান বাস্তবায়ন করি। এটি বাইনারি অনুসন্ধানে একটি উন্নতি কারণ টেবিল লুকআপ একটি স্থানান্তর এবং সংযোজনের চেয়ে দ্রুত। এই পদ্ধতির সময় জটিলতা হল O(log(n)).

অ্যালগরিদম

একটি সাজানো পদ্ধতিতে অ্যারেতে ডেটা বরাদ্দ করা শুরু করুন। লুকআপ অ্যারের সর্বাধিক দৈর্ঘ্য গণনা করুন এবং একটি নতুন অ্যারে 'ডেল' ঘোষণা করুন। লুকআপ অ্যারেতে n/2, n/4 এবং '0' পর্যন্ত মানগুলি বরাদ্দ করুন, যেখানে n হল ডেটা অ্যারের দৈর্ঘ্য। UniBinarySearch() ফাংশন কল করুন। 'dl' অ্যারের '0' সূচকে মানের মাঝামাঝি বরাদ্দ করুন এবং মিড ইনডেক্সের মানের সাথে কী তুলনা করুন। যদি কী সমান হয় তবে সূচকের মানটি মূলে ফেরত দিন। যদি 'ডাল'-এ সূচকের মান শূন্য হয় তবে উপাদানটি সেখানে নেই, প্রধান - 1-এ ফিরুন। যদি এটি কম হয়, 'ডাল' অ্যারেতে সংরক্ষিত পরবর্তী মান বিয়োগ করুন এবং পয়েন্টারটিকে 'ডাল' অ্যারেতে পরবর্তী মানতে স্থানান্তর করুন। যদি এটি বড় হয়, 'ডাল' অ্যারেতে সংরক্ষিত পরবর্তী মান যোগ করুন এবং পয়েন্টারটিকে 'ডাল' অ্যারেতে পরবর্তী মানতে স্থানান্তর করুন। ফাংশন দ্বারা প্রত্যাবর্তিত সূচক মান প্রিন্ট করুন এবং আরও অনুসন্ধান করার জন্য ব্যবহারকারীর পছন্দের জন্য জিজ্ঞাসা করুন। শেষ

উদাহরণ কোড

#include namespace ব্যবহার করে std;void lookUpArray(int *a, int N) { int power =1, i =0; do { int half =power; শক্তি *=2; a[i] =(N+অর্ধেক)/শক্তি; i++; } while (a[i-1] !=0);}int UniBinarySearch(int *a, int *dal, int কী) { int i =d[0]-1, d =0; পতাকা:যদি (কী ==a[i]) রিটার্ন i; else if (dal[d] ==0) রিটার্ন -1; else { if (কী >n; index =UniBinarySearch(a, del, n); যদি (সূচক ==-1) cout<<"\nআইটেম পাওয়া যায় নি"; else cout<<"\nআইটেম "<>ch; if(ch =='y' || ch =='Y') উপরে যান; রিটার্ন 0;

আউটপুট

<প্রে> অনুসন্ধান করা উপাদানটি প্রবেশ করান:7 আইটেম 7টি 3 অবস্থানে পাওয়া গেছে আপনি কি আরও অনুসন্ধান করতে চান... পছন্দ(y/n) লিখুন? অনুসন্ধানের জন্য উপাদানটি প্রবেশ করুন:21 আইটেমটি পাওয়া যায়নি আপনি কি আরও অনুসন্ধান করতে চান... পছন্দ লিখুন(y/n)?
  1. C++ প্রোগ্রামে বাইনারি অনুসন্ধান?

  2. একটি বাইনারি অনুসন্ধান গাছে বাম ঘূর্ণন সম্পাদনের জন্য C++ প্রোগ্রাম

  3. C++ এ বাইনারি অনুসন্ধান

  4. বাইনারি অনুসন্ধানের জন্য জাভা প্রোগ্রাম (পুনরাবৃত্ত)