This document explains the bucket sort algorithm. It works by dividing the range of possible input values into buckets. Elements are distributed into the buckets and then sorted within each bucket, usually using a simpler algorithm like insertion sort. The sorted buckets are then concatenated together to produce the fully sorted output array. An example is provided to illustrate bucket sort on an array of random values between 0 and 1. Pseudocode for the bucket sort algorithm is also presented.