Я нашел пару вопросов по geeksforgeeks.org, которые, похоже, не могут понять (№ 1 и № 3). Я надеялся, что кто-то может прояснить ответы на меня:Вопросы асимптотического анализа
выяснить, является ли истина/ложь действительной или
1.Time Сложность QuickSort является Θ (п^2)
Я ответил верно, но это неверно , Зачем? Если quicksort имеет временную сложность O (n^2), и мы знаем, что Θ (g (n)) = {f (n), где c1 * g (n) < = f (n) < = c2 * g (n) и n> = n0}, то разве это не доказывает, что оно верно, так как c2 * g (n) - верхняя граница может быть равна f (n)?
2.Time Сложность QuickSort О (п^2) - истинный
3.Time сложность всех компьютерных алгоритмов можно записать в виде Q (1)
Это верно, но я не имею понимая, почему это так. Алгоритм поиска может иметь нижнюю границу Ω (1), предполагая, что мы находим то, что искали в первом элементе, но как это справедливо для ВСЕХ компьютерных алгоритмов, таких как алгоритм сортировки вставки, где наихудший случай - O (n^2)?
ссылка: http://www.geeksforgeeks.org/analysis-of-algorithms-set-3asymptotic-notations/
Это не вопросы программирования как таковые. Вам лучше спросить [cs.se] –
Вопросы упражнения не имеют никакого смысла.Нет смысла брать на себя сложность, не сообщая ни о каком анализе - и, следовательно, они неоднозначны. Quicksort - это худший случай Theta (n^2) (и, следовательно, O (n^2) и Omega (n^2)) и Theta (nlogn) средний случай (и, следовательно, O (nlogn) и Omega (nlogn)), , – amit
@amit Я бы частично не согласился. Вы всегда можете сказать, что алгоритм O (f (x)), если наихудший случай O (f (x)). Аналогично, вы всегда можете сказать, что это Omega (f (x)), если лучшим случаем является Omega (f (x)). И действительно, нужно спросить, является ли алгоритм Theta (f (x)), хотя редко вы можете ответить «да». –