I found the strand type very attractive for sorting simply linked lists in constant space, because it is much faster than, for example, sorting an insert.
I see why it is O(n) in the best case (the list is already sorted) and O(n^2) in the worst case (the list is sorted in reverse order). But why is O(n sqrt n) in the middle case? If the algorithm is not based on half-division and has polynomial indicators of the best and worst cases, this is the average case only O(n^m) , where m is the arithmetic mean of the indicators of the best case and the worst case ( m = (1 + 2) / 2 = 3/2 , O(n sqrt n) = O(n^(3/2)) )?
sorting algorithm complexity-theory time-complexity
Jakub kulhan
source share