Ich versuche, einen Algorithmus mit O (log N^3/M) Zeit Komplexität zu schreiben. Ich bin mir jedoch nicht sicher über log N/M Teil. Ich wäre dankbar, wenn jemand bestätigen könnte, ob mein Algorithmus korrekt ist.Algorithmus mit O (log N^3/M) Zeit Komplexität
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
* If for (int i = 1; i < N; i += M)
O (N/M) Zeitkomplexität aufweist und O (log N) erfordert i
mit einer Konstanten multipliziert werden, dann ist die Schlussfolgerung, dass O (log N/M) erreicht werden kann, wenn wir fügen die Konstante zu i
hinzu und multiplizieren sie gleichzeitig mit einer anderen Konstante.
Was wäre ein Algorithmus für O (N/log N) Zeitkomplexität?
Meinst du log (N^3/M) oder log (N^3)/M? – coincoin
Der letzte Teil Ihrer Frage [wird hier beantwortet] (http://stackoverflow.com/questions/35176736/algorithms-with-on-logn-complexity/39215822#39215822). – templatetypedef
O (log (N^3/M)) wäre korrekt. – Stealth