Время выполнения пузыря / простой сортировки - PullRequest
0 голосов
/ 31 октября 2011

В классе простая сортировка используется как одно из наших первых определений времени выполнения O (N) ...

Но, поскольку каждый раз, когда она запускается, она проходит на одну и ту же итерацию массива, не будетt это что-то более похожее на ...

время выполнения bubble = sum (i = 0, n, (ni))?

И не только самые большие процессы при запускеодин за другим считается в асимптотическом анализе, который был бы итерацией N, почему по определению этот вид не O (N)?

Ответы [ 3 ]

1 голос
/ 31 октября 2011

Сумма 1 + 2 + ... + N равна N*(N+1)/2 ... (математика средней школы) ... и приближается к (N^2)/2, когда N уходит в бесконечность.Классический O(N^2).

1 голос
/ 31 октября 2011

Я не уверен, откуда вы (или ваш профессор) поняли, что пузырьковая сортировка - O (n). Если бы у вашего профессора был гарантированный алгоритм сортировки O (n), было бы разумно попытаться запатентовать его: -)

По своей природе пузырьковая сортировка O (n 2 ).

Это потому, что он должен сделать полный проход всего набора данных, чтобы правильно разместить первый элемент.

Затем второй проход N - 1 элементов для правильного размещения второго. И третий проход N - 2 элементов для правильного размещения третьего.

И так, эффективно заканчивая операциями, близкими к N * N / 2, которые, удаляя лишнюю константу 0.5, равны O (n 2 ).

0 голосов
/ 31 октября 2011

Сложность по времени сортировки пузырьков O (n ^ 2). При рассмотрении сложности учитывается только наибольшее выражение (но не фактор)

...