কম্পিউটার

জাম্প অনুসন্ধান


জাম্প অনুসন্ধান কৌশল অর্ডার করা তালিকার জন্যও কাজ করে৷ এটি একটি ব্লক তৈরি করে এবং সেই ব্লকের উপাদান খুঁজে বের করার চেষ্টা করে। যদি আইটেমটি ব্লকে না থাকে তবে এটি পুরো ব্লকটি স্থানান্তরিত করে। ব্লকের আকার তালিকার আকারের উপর ভিত্তি করে। তালিকার আকার n হলে ব্লকের আকার হবে √n। একটি সঠিক ব্লক খুঁজে পাওয়ার পরে এটি একটি রৈখিক অনুসন্ধান কৌশল ব্যবহার করে আইটেমটি খুঁজে পায়। জাম্প সার্চ লিনিয়ার সার্চ এবং বাইনারি সার্চ এর পারফরম্যান্স অনুযায়ী।

জাম্প সার্চ টেকনিকের জটিলতা

  • সময়ের জটিলতা:O(√n)
  • স্পেস জটিলতা:O(1)

ইনপুট এবং আউটপুট

ইনপুট:ডেটার একটি সাজানো তালিকা:10 13 15 26 28 50 56 88 94 127 159 356 480 567 689 699 780 850 956 995 অনুসন্ধান কী 356 আউটপুট অবস্থানে পাওয়া গেছে:It 

অ্যালগরিদম

জাম্প সার্চ(অ্যারে, সাইজ, কী)

ইনপুট: একটি সাজানো অ্যারে, অ্যারের আকার এবং অনুসন্ধান কী

আউটপুট - চাবির অবস্থান (যদি পাওয়া যায়), অন্যথায় ভুল অবস্থান।

Begin blockSize :=√size start :=0 end :=blockSize while array[end] <=key AND end  size – 1 তারপর end :=i এর জন্য করা সাইজ :=শুরু থেকে শেষ -1 ডু যদি অ্যারে[i] =কী তারপর রিটার্ন আমি করেছি অবৈধ অবস্থান ফেরত দেয়End

উদাহরণ

#include#include namespace ব্যবহার করে std;int jumpSearch(int array[], int size, int key) { int start =0; int end =sqrt(size); //অ্যারের দৈর্ঘ্যের বর্গমূল যখন(অ্যারে[শেষ] <=কী &&শেষ <আকার) { শুরু =শেষ; //এটি সঠিক ব্লক নয় তাহলে ব্লক এন্ড শিফট করুন +=sqrt(সাইজ); যদি (শেষ> আকার - 1) শেষ =আকার; //যদি ডান ছাড়িয়ে যায় তাহলে পরিসীমা বাউন্ড করুন } for(int i =start; i> n; int arr[n]; // আকারের একটি অ্যারে তৈরি করুন n cout <<"আইটেমগুলি লিখুন:" <> arr[i]; } cout <<"তালিকায় অনুসন্ধান করতে অনুসন্ধান কী লিখুন:"; cin>> searchKey; if((loc =jumpSearch(arr, n, searchKey))>=0) cout <<"স্থানে আইটেম পাওয়া গেছে:" < 

আউটপুট

আইটেমের সংখ্যা লিখুন:20টি আইটেম লিখুন:10 13 15 26 28 50 56 88 94 127 159 356 480 567 689 699 780 850 956 995 প্রবেশ করুন:অনুসন্ধান কী প্রবেশ করান:অবস্থান খুঁজে পেতে 31টি তালিকায় পাওয়া গেছে:
  1. Windows এ কিভাবে সার্চ করবেন

  2. HTML DOM ইনপুট সার্চ সাইজ প্রপার্টি

  3. C++ এ জাম্প গেম IV

  4. C# এ বাইনারি অনুসন্ধান