mergesort- все статьи тега
Сортировка Слиянием На Языке Python
Я не смог найти ни одного работающего кода Python 3.3 mergesort, поэтому я сделал 1 сам. Есть ли способ ускорить это? Он сортирует 20000 чисел примерно за 0,3-0,5 секунды def msort(x): result = [] if len(x) < 2: return x mid = int(len(x)/2) y = msort(x[:mid]) z = msort(x[mid:]) while (len(y) > 0) or (len(z) > 0): if len(y) > 0 and len(z) > 0: if y[0] > z[0]: result.append(z[0]) z.pop(0) ...
Почему это лучше, чем быстрая сортировка сортировка слиянием?
Я задал этот вопрос во время интервью. Они оба O (nlogn), и все же большинство людей используют Quicksort вместо Mergesort. Почему? ...