2014-02-13 3 views
0

Как рассчитывается средняя сложность алгоритма? Хуже, очевидно, лучше, но как рассчитывается среднее значение?Как вычисляется средняя сложность

+0

здесь ответ, в котором я вычислил ожидаемый runtine: - http://stackoverflow.com/questions/21719141/algorithm-analysis-expected-running-time-of-recursive-function-based-on- a-rng/21728256 # 21728256, используя ожидания –

+0

Смутно связанная, ожидаемая глубина дерева, выбранного случайным образом из набора всех деревьев с N узлами, отличается от ожидаемой глубины дерева, сгенерированного добавлением узлов в случайные места. Подобные концепции делают расчет алгоритмических «средних» и «ожиданий» очень сложными, если вы не поняли, что вы измеряете. –

ответ

2

Средняя сложность работы (время, пространство и т. Д.) Определяется путем учета всех возможных входов заданного размера и определения асимптотической оценки среднего значения соответствующей меры на всех этих входах.

Например, средняя сложность «количества сравнений» для сортировки будет найдена, учитывая все N! перестановки ввода размера N и оценки оценок по среднему числу сравнений, выполняемых на всех этих входах.

I.e. это сумма чисел сравнений для всех возможных N! входы, разделенные N!

Поскольку средняя производительность на всех возможных входах равна ожидаемому значению одного и того же показателя производительности, средняя производительность также называется ожидаемой производительностью.

0

Quicksort представляет интересный нетривиальный пример расчета средней продолжительности выполнения. Как вы можете видеть, математика может стать довольно сложной, и, к сожалению, я не думаю, что существует общее уравнение для вычисления средней производительности.

2

рассчитать сложность для всех возможных входных и принимаемых и взвешенных сумм на основе их вероятностей. Это также называется ожидаемой runtine (аналогично ожиданию вероятностей).

ET(I) = P(X=I1)*T(I1) + P(X=I2)*T(I2) + P(X=I3)*T(I3)....... 
Смежные вопросы