কম্পিউটার

শেল সাজান


শেল সাজানোর কৌশলটি সন্নিবেশ সাজানোর উপর ভিত্তি করে। সন্নিবেশ সাজানোর ক্ষেত্রে কখনও কখনও আমাদের সঠিক অবস্থানে একটি আইটেম সন্নিবেশ করার জন্য বড় ব্লক স্থানান্তর করতে হবে। শেল সাজানোর ব্যবহার করে, আমরা প্রচুর সংখ্যক স্থানান্তর এড়াতে পারি। বাছাই একটি নির্দিষ্ট ব্যবধান সঙ্গে সম্পন্ন করা হয়. প্রতিটি পাসের পরে, ব্যবধানটি ছোট করে ব্যবধান তৈরি করা হয়।

শেল সাজানোর কৌশলের জটিলতা

  • সময়ের জটিলতা:সেরা ক্ষেত্রের জন্য O(n log n), এবং অন্যান্য ক্ষেত্রে, এটি গ্যাপ সিকোয়েন্সের উপর নির্ভর করে।
  • স্পেস জটিলতা:O(1)

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

<প্রে>ইনপুট:বিন্যাস করা তালিকা:23 56 97 21 35 689 854 12 47 66 আউটপুট:সাজানোর আগে অ্যারে:23 56 97 21 35 689 854 12 47 66 সাজানোর পরে অ্যারে 5965429654747>

অ্যালগরিদম

শেলসোর্ট(অ্যারে, আকার)

ইনপুট - ডেটার একটি অ্যারে, এবং অ্যারের মোট সংখ্যা

আউটপুট - সাজানো অ্যারে

গ্যাপ এর জন্য শুরু করুন :=সাইজ / 2, যখন গ্যাপ> 0 এবং ব্যবধান আপডেট করা হয় গ্যাপ / 2 ডু এর জন্য j:=গ্যাপ থেকে সাইজ– 1 ডু k এর জন্য :=j-গ্যাপ থেকে 0, গ্যাপ ভ্যালু দ্বারা হ্রাস করুন if array[k+gap]>=array[k] break else swap array[k + gap] with array[k] সম্পন্ন হয়েছে সম্পন্ন হয়েছে শেষ

উদাহরণ

#includeনেমস্পেস ব্যবহার করে std;void সোয়াপিং(int &a, int &b) {//a এবং b int temp-এর বিষয়বস্তু অদলবদল করুন; temp =a; a =b; b =temp;} void display(int *array, int size) { for(int i =0; i
 0; gap =gap / 2) { //প্রাথমিকভাবে ব্যবধান =n/2, ব্যবধান /2 দ্বারা হ্রাস (j =gap; j=0; k -=ফাঁক) { if(arr[k+gap]>=arr[k]) বিরতি; অন্য অদলবদল (আরআর[কে+গ্যাপ], আরআর[কে]); } } }} int main() { int n; cout <<"উপাদানের সংখ্যা লিখুন:"; cin>> n; int arr[n]; //প্রদত্ত সংখ্যক উপাদান সহ একটি অ্যারে তৈরি করুন cout <<"এন্টার উপাদান:" <> arr[i]; } cout <<"বাছাই করার আগে অ্যারে:"; প্রদর্শন (arr, n); shellSort(arr, n); cout <<"বাছাই করার পরে অ্যারে:"; প্রদর্শন(arr, n);}

আউটপুট

<প্রে>এলিমেন্টের সংখ্যা লিখুন:10এন্টার এলিমেন্ট:23 56 97 21 35 689 854 12 47 66 সাজানোর আগে অ্যারে:23 56 97 21 35 689 854 12 47 66 সাজানোর পরে অ্যারে 42627 42675 49625 প্রাক>
  1. জাভাস্ক্রিপ্টে রেডিক্স সাজান?

  2. JavaScript Sort() পদ্ধতি

  3. C# এ সন্নিবেশ বাছাই

  4. শেল সাজানোর জন্য পাইথন প্রোগ্রাম