Построение логарифмической диаграммы - N log N в Excel
В настоящее время я анализирую и профилирую быструю сортировку с большим объемом данных. Я уже собрал необходимые данные от профилировщика. И я также построил график для среднего времени выполнения в зависимости от размера данных.
Теперь я хотел бы также построить N log N диаграмму, чтобы я мог сравнить теоретические данные с имеющимися у меня данными. Однако я не могу построить график N log N, используя Excel.
Существует опция в Chart Design -> Add Chart Element -> Trendline -> Logarithmic. Это также дает нам возможность настроить его, как показано ниже.
Однако я не совсем уверен в том, чтобы построить N log N с помощью этой функции. Мне это нужно для анализа быстрой сортировки и нескольких других алгоритмов сортировки.
1 ответ
У тебя есть time
(ось Y) и n
(ось X), и, как вы уже сделали, вы можете легко построить график и получить линию тренда, используя некоторые параметры в диалоговом окне Chart.
Что еще более важно, вы также можете получить уравнение тренда linest()
(для линейной регрессии). Вы должны найти и научиться использовать linest() наверняка. Короче говоря, теперь вам нужно просто добавить еще один столбец и заполнить его. n * log
а затем использовать linest()
с этими столбцами.
Изображение является частью того, что я сделал много лет назад. B3:B11
является n
а также L3:L11
является time
для рандомизированных входных данных. Как видите, вы можете сказать, что для рандомизированного ввода производительность быстрой сортировки наиболее n*log(n)
потому что это R^2
(L21
, который вы должны внимательно посмотреть его форум) очень близко к 1.0
и самый большой среди n
а также n^2
, Аналогично для уже отсортированных (M3:M11
) или реверсивно отсортировано (N3:N11
) вход, можно увидеть и сказать, что его производительность почти n^2
, Надеюсь, что это поможет вам.