বালতি বাছাই n আকারের অ্যারেকে k বালতিতে বিভক্ত করে কাজ করে যা উপাদান মানগুলির একটি নির্দিষ্ট পরিসর ধারণ করে।
তারপর, এই বালতিগুলিকে একটি সাজানোর অ্যালগরিদম ব্যবহার করে সাজানো হয় যা প্রত্যাশিত ইনপুট আকারের উপর ভিত্তি করে বেছে নেওয়া যেতে পারে।
আমরা এই অ্যালগরিদমটিকে নিম্নরূপ বর্ণনা করতে পারি -
অ্যালগরিদম:
প্রাথমিক bucketSort ফাংশন তৈরি করুন i, min, max, এবং বালতির আকারের জন্য ভেরিয়েবল তৈরি করুন সর্বনিম্ন এবং সর্বোচ্চ মান খুঁজুনবাকেটের পরিমাণ তৈরি করুন বালতিগুলিকে সংশোধন করতে মানগুলিকে চাপুন বালতিগুলি সাজান
উদাহরণ
এর জন্য কোড হবে −
const arr =[32, 6, 34, 4, 78, 1, 6767, 4, 65, 34, 879, 7];const bucketSort =arr => { if (arr.length ===0) { ফিরে আসা; } যাক i, minValue =arr[0], maxValue =arr[0], bucketSize =5; arr.forEach(function (currentVal) { if (currentVal maxValue) { maxValue =currentVal; } }) যাক bucketCount =Math.floor((maxValue - minValueS) ) + 1; let allBuckets =new Array(bucketCount); জন্য (i =0; i { let length =arr.length; যাক i, j; for(i =1; i <দৈর্ঘ্য; i++) { চলুন temp =arr[i]; for(j =i - 1; j>=0 &&arr[j]> temp; j--) { arr[j+1] =arr[j]; } arr[j+1] =temp; } রিটার্ন arr;};console.log(bucketSort(arr)); আউটপুট
কনসোলে আউটপুট -
<প্রে>[ 1, 4, 4, 6, 7, 32, 34, 34, 65, 78, 879, 6767]