বালতি বাছাই কৌশলে, ডেটা আইটেমগুলি বালতিগুলির একটি সেটে বিতরণ করা হয়। প্রতিটি বালতি একই ধরনের ডেটা ধারণ করতে পারে। বিতরণ করার পরে, প্রতিটি বালতি অন্য সাজানোর অ্যালগরিদম ব্যবহার করে সাজানো হয়। এর পরে সাজানো ফর্ম পেতে সমস্ত উপাদান প্রধান তালিকায় একত্রিত হয়।
বাকেট সাজানোর কৌশলের জটিলতা
-
সময়ের জটিলতা:সেরা ক্ষেত্রে ও গড় ক্ষেত্রে O(n + k) এবং সবচেয়ে খারাপ ক্ষেত্রে O(n2 )।
-
স্থান জটিলতা:O(nk) সবচেয়ে খারাপ ক্ষেত্রে
ইনপুট − সাজানো না হওয়া ডেটার একটি তালিকা:0.25 0.36 0.58 0.41 0.29 0.22 0.45 0.79 0.01 0.69 আউটপুট − সাজানোর পরে অ্যারে:0.01 0.22 0.25 0.690.490> 0.690 preঅ্যালগরিদম
বালতি সাজান(অ্যারে, আকার)
ইনপুট :ডেটার একটি অ্যারে, এবং অ্যারের মোট সংখ্যা
আউটপুট :সাজানো অ্যারে
i এর জন্য শুরু করুন :=0 থেকে সাইজ-1 ডু বালতি সূচকে অ্যারে[i] ঢোকান (আকার * অ্যারে[i]) i এর জন্য করা হয়েছে :=0 থেকে সাইজ-1 ডু সর্ট বালতি[i] i এর জন্য করা হয়েছে :=0 থেকে সাইজ -1 বালতির আইটেমগুলি সংগ্রহ করে এবং অ্যারেতে রাখো শেষউদাহরণ কোড
#include#include #include namespace ব্যবহার করে std;void display(float *array, int size) { for(int i =0; i bucket[size]; for(int i =0; i > n; float arr[n]; //প্রদত্ত সংখ্যক উপাদান সহ একটি অ্যারে তৈরি করুন cout <<"এন্টার উপাদান:" < > arr[i]; } cout <<"বাছাই করার আগে অ্যারে:"; প্রদর্শন (arr, n); bucketSort(arr, n); cout <<"বাছাই করার পরে অ্যারে:"; প্রদর্শন(arr, n);} আউটপুট
উপাদানের সংখ্যা লিখুন:10ENTER ELEMENTS:0.25 0.26 0.58 0.41 0.29 0.22 0.45 0.79 0.01.269array সাজানোর আগে:0.25 0.22 0.45 0.79 0.010.69.array সাজানোর পরে:0.01 0.22 0.25 0.29 0.36 0.22 0.45 0.58 0.690। 79