I am trying to understand Bucket Sort in depth. My problem is, that I don't quite understand how the range of the buckets is chosen. Most tutorials I read so far simply assume, that they have knowledge over the input or iterate over it to find min and max and build the buckets depending on that information.
My question is, whether there are more intelligent ways to create the buckets. If some algorithms require initially iterating over the input anyway, more stochastically optimised version should be possible. Sadly I did not find any good literature. Can someone provide me with better methods or literature?