Я не уверен, откуда вы (или ваш профессор) поняли, что пузырьковая сортировка - O (n). Если бы у вашего профессора был гарантированный алгоритм сортировки O (n), было бы разумно попытаться запатентовать его: -)
По своей природе пузырьковая сортировка O (n 2 ).
Это потому, что он должен сделать полный проход всего набора данных, чтобы правильно разместить первый элемент.
Затем второй проход N - 1
элементов для правильного размещения второго. И третий проход N - 2
элементов для правильного размещения третьего.
И так, эффективно заканчивая операциями, близкими к N * N / 2
, которые, удаляя лишнюю константу 0.5
, равны O (n 2 ).