Əlaqədar sualın cavabında qeyd olunduğu kimi, alqoritmin vaxt mürəkkəbliyi O(log n) olmasının ümumi yolu həmin alqoritmin girişin ölçüsünü təkrar-təkrar az altmaqla işləməsidir. hər iterasiyada bəzi sabit faktorla.
log n nə deməkdir?
O(log N) əsasən vaxt xətti, n isə eksponent olaraq yüksəlir deməkdir. Beləliklə, 10 elementi hesablamaq üçün 1 saniyə lazımdırsa, 100 elementi hesablamaq üçün 2 saniyə, 1000 elementi hesablamaq üçün 3 saniyə və s. Bölmə və fəth alqoritmlərinin növü, məsələn, ikili axtarış zamanı O(log n) olur.
O və log n nədir?
N ölçüsünün daxil edilməsi üçün O(n) alqoritmi n ilə mütənasib addımlar yerinə yetirəcək, digər O(log(n)) alqoritmi isə addımları yerinə yetirəcək təqribən log(n). Aydındır ki, log(n) n-dən kiçikdir, ona görə də mürəkkəblik alqoritmi O(log(n)) daha yaxşıdır.
Siz log n-ni necə hesablayırsınız?
İdeya budur ki, strukturu 1-ə 1-ə sürüşdürmək əvəzinə strukturu təkrar-təkrar yarıya bölsəniz və hər bölmə üçün sabit sayda əməliyyatlar etsəniz, alqoritm O(log n) olur. Cavab sahəsinin bölünməyə davam etdiyi axtarış alqoritmləri O(log n).
log n Square nədir?
Log ^2 (
) o deməkdir ki, ölçülü problem üçün log ilə log ilə mütənasibdir
. Log(
)^ 2 o deməkdir ki, loqun kvadratına ilə mütənasibdir.