Обратите внимание, что у меня нет "проблемы", и я не ищу "другого способа найти большой O моего алгоритма".
То, что я хотел бы знать, это то, что можно было бы написать программу, на которую вы передавали бы точки данных, которые все будут выполнять измерения алгоритма для различных размеров ввода: (n,time taken to solve problem for n)
, и это будет определять сложность вашего алгоритма.
Например, здесь может быть вход (он может быть намного больше, это просто пример, а не вопрос):
36 000 took 16 ms
109 000 took 21 ms
327 000 took 68 ms
984 000 took 224 ms
2 952 000 took 760 ms
8 857 000 took 2305 ms
26 571 000 took 7379 ms
79 716 000 took 23336 ms
Используя такой тип данных, можно ли написать программу, которая сообщила бы, если у нас есть, скажем, O(n)
, log(n)
, n log(n)
или n!
algo?