Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
O(C) = 0 так как изменение числа элементов не влияет на результат (например время обращения к элементу массива по индексу не зависит от размера массива)O(C+N)=O(C)+O(N) = O(N)Серьёзно? ЗаO(C) = 0так как изменение числа элементов не влияет на результат (например время обращения к элементу массива по индексу не зависит от размера массива)
O(C+N)=O(C)+O(N) = O(N)
O(C) = 0 вообще по рукам бить надо.O(C) = O(1)C + n = O(n)Время работы алгоритма константное
3 1 2 5
1 2 3 5
[0] > [2]
[1] > [0]
[2] > [1]
[3] > [3]
2013
function BogoSort2(array) {
array.sort(function() {
return Math.random() > 0.5;
});
if (!isSorted(array)) return BogoSort2(array);
return array;
}
function isSorted(array) {
for(var i = 1, l = array.length; i < l; i++) {
if(array[i] < array[i-1]) return false;
}
return true;
}
Также отмечу, что тем не менее BozoSort в среднем всё равно будет сортировать быстрее чем BogoSort. Просто потому, что после каждого обмена массив проверяется на упорядоченность. В BogoSort часты случаи, когда массив находится в упорядоченном состоянии, однако если в этот момент не произвести проверку, а перемешивать далее, то вожделенное состояние осортированности на время утрачивается.
Непрактичные сортировки – бессмысленные и беспощадные