Why is sorting an important aspect of programming?
Establishing a predictable order so that algorithms can make assumptions based on the content (for example, for search) will enable it to perform much better. Another important aspect is user experience in user interfaces, or to establish a semantic link between data points (for example, a time series can now have trends).
What makes values bubble up in bubble sort?
By repeatedly swapping a pair of elements when going through the sequence, elements that belong on the opposite end (or close to it) will have to swap places with every other element on the way. Therefore, the large number "bubbles up."
Why is shell sort useful?
It achieves solid sorting performances, yet it's not as complex as merge sort and uses less computational resources. This makes it great in scenarios where hardware can be bottlenecked...