কম্পিউটার

ফিবোনাচি সংখ্যার সাহায্যে ডিভাইড অ্যান্ড কনক্যুয়ার ব্যবহার করে সাজানো ক্রম অনুসন্ধানের জন্য C++ প্রোগ্রাম


এই C++ প্রোগ্রামে আমরা ফিবোনাচি সংখ্যা ব্যবহার করে একটি ডিভাইড অ্যান্ড কঙ্কারের পদ্ধতি প্রয়োগ করি। ফিবোনাচি সংখ্যা ব্যবহার করে, আমরা ডেটা আইটেম অনুসন্ধান করতে ডেটা অ্যারের মাঝামাঝি গণনা করি। এই পদ্ধতির সময় জটিলতা হল O(log(n)).

অ্যালগরিদম

একটি সাজানো পদ্ধতিতে অ্যারেতে ডেটা বরাদ্দ করা শুরু করুন। অনুসন্ধান করার জন্য উপাদানটির ইনপুট নিন। FibonacciSearch() ফাংশন কল করুন। 'start+fib[index-2]' এক্সপ্রেশন ব্যবহার করে মধ্য মান গণনা করুন। যদি নির্বাচিত আইটেমটি মধ্য সূচকের মানের সমান হয়, ফলাফল মুদ্রণ করুন এবং মূলে ফিরে যান। যদি এটি মধ্য সূচকে মানের থেকে কম হয়, বাম সাব-অ্যারে দিয়ে এগিয়ে যান। যদি এটি মধ্য সূচকে মানের থেকে বেশি হয়, তাহলে ডান সাব-অ্যারে নিয়ে এগিয়ে যান। যদি গণনা করা মধ্য মানটি শুরু বা শেষের সমান হয় তবে আইটেমটি অ্যারেতে পাওয়া যায় না৷ শেষ

উদাহরণ কোড

#include namespace ব্যবহার করে std;void FibonacciSearch(int *a, int start, int end, int *fib, int index, int আইটেম) { int i, mid; mid =start+fib[সূচী-2]; if(item ==a[mid]) { cout<<"\n আইটেম "<<মিড<<" সূচকে পাওয়া গেছে৷ প্রত্যাবর্তন } else if(item ==a[start]) { cout<<"\n আইটেম "< a[mid]) FibonacciSearch(a, mid, end, fib, index-1, item); অন্যথা FibonacciSearch(a, start, mid, fib, index-2, item); } main() { int n, i, fib[20], a[10]={3, 7, 55, 86, 7, 15, 26, 30, 46, 95}; char ch; fib[0] =0; fib[1] =1; i =1; যখন (fib[i] <10) { i++; fib[i] =fib[i-1] + fib[i-2]; } আপ:cout<<"\nঅনুসন্ধান করা উপাদানটি লিখুন:"; cin>>n; FibonacciSearch(a, 0, 9, fib, i, n); cout<<"\n\n\tআপনি কি আরও অনুসন্ধান করতে চান...চয়েস লিখুন(y/n)?"; cin>>ch; if(ch =='y' || ch =='Y') উপরে যান; রিটার্ন 0; }}

আউটপুট

 যে উপাদানটি অনুসন্ধান করা হবে তা লিখুন:6 সূচকে 26টি আইটেম পাওয়া গেছে। আপনি কি আরও অনুসন্ধান করতে চান... পছন্দ(y/n) লিখুন? অনুসন্ধানের জন্য উপাদানটি প্রবেশ করান:45টি আইটেম পাওয়া যায়নি কি আপনি আরও অনুসন্ধান করতে চান.. পছন্দ লিখুন(y/n)?n

  1. C++ ব্যবহার করে প্রদত্ত এক প্রান্ত এবং মধ্য দিয়ে একটি রেখার অন্য প্রান্ত বিন্দু খুঁজুন

  2. একটি নির্দিষ্ট সার্চ সিকোয়েন্সের জন্য একটি বাইনারি অনুসন্ধান অ্যালগরিদম বাস্তবায়নের জন্য C++ প্রোগ্রাম

  3. পুনরাবৃত্তি ব্যবহার করে ফিবোনাচি সংখ্যা খুঁজে পেতে C++ প্রোগ্রাম

  4. Recursion ব্যবহার করে ফিবোনাচি সংখ্যা খুঁজে পেতে C++ প্রোগ্রাম