У меня вопрос о разъяснении моей домашней работы.Анализ алгоритмов - ожидаемые темпы роста
http://www.cs.bilkent.edu.tr/~gunduz/teaching/cs201/cs201_homework3.pdf
Чтобы увидеть раздаточный материал, пожалуйста, перейдите на страницу 25 http://www.scribd.com/nanny24/d/36657378-Data-Structures-and-Algorithm-Analysis-in-C-Weiss.
Следующее - это то, что мне нужно сделать, но я не понял, что это значит. Означает ли это, что для алгоритма 1 сопоставить фактическое время работы по сравнению с (n^3 + 3 * (n^2) + 2 * n)/6, n = размер массива? Я так не думаю, но я ничего не мог сделать. Не могли бы вы объяснить мне, что это?
2- Plot the expected growth rates obtained from the theoretical analysis (as given for each solution) by
using the same N values that you used in obtaining your results. Compare the expected growth rates
and the obtained results, and discuss your observations in a paragraph.
EDIT 2:
Algorithm 1:
n actual running time(ms) (n^3 + 3*(n^2) + 2*n)/6 (I don't know whether the type is millisecond or not)
100 1 171700
1000 851 167167000
Так, учитывая эту огромную разницу между фактическим временем работы и теоретического времени работы, какие средства инструктор может отличаться теоретической функции времени сложность, которая является (п^3 + 3 * (n^2) + 2 * n)/6 для алгоритма 1. Это функция: http://www.diigo.com/item/image/2lxmz/m7y3?size=o
Что? Этот результат неплохо подходит для кубического роста. Попробуйте запустить его для 'n = 2000' и' n = 5000', чтобы получить больше точек данных. –
Не должно ли 167167000 быть ближе к 851? –
Вы не должны сравнивать два набора по их абсолютным значениям, попробуйте нормализовать наблюдаемый набор, разделив все записи на 171700, а затем сравните. – enobayram