Я пытаюсь написать алгоритм с временной сложностью O (log N^3/M). Однако я не уверен в части журнала N/M. Я был бы признателен, если бы кто-нибудь мог подтвердить, правильно ли мой алгоритм.Алгоритм с временной сложностью O (log N^3/M)
for (int i = 1; i < N; i = i*2) // log N
for (int i = 1; i < N; i = i*2) // log N
*for (int i = 1; i < N; i += M+i*2) // log N/M
* Если for (int i = 1; i < N; i += M)
имеет O (N/M) временную сложность, и О (журнал N) требует i
следует умножить на константу, то можно сделать вывод, что О (Log N/M) может быть достигнуто, если мы добавляем константу в i
и умножаем ее на другую константу одновременно.
Каким будет алгоритм для временной сложности O (N/log N)?
Вы имеете в виду log (N^3/M) или log (N^3)/M? – coincoin
Последняя часть вашего вопроса [ответ на этот вопрос] (http://stackoverflow.com/questions/35176736/algorithms-with-on-logn-complexity/39215822#39215822). – templatetypedef
O (log (N^3/M)) будет правильным. – Stealth