2010-09-26 14 views
23

Napotkałem termin O(log* N) w książce, którą czytam na temat struktur danych. Co oznacza log*? Nie mogę find it on Google i WolframAlpha doesn't understand it either.Co oznacza "log *"?

+5

"Nie mogę znaleźć tego w Google". Googling dla "log star" działa dobrze. – Joren

+0

spróbuj "iterowany logarytm x od 0 do 6" lub "IteratedLog (4)" w WolframAlpha – vokilam

+0

Możliwy duplikat [Co to jest O (log \ * N)?] (Https://stackoverflow.com/questions/2387656/ what-is-olog-n) –

Odpowiedz

22

Itarated logarytm. Zobacz opis here, aby uzyskać opis wielu różnych złożoności czasowych, oraz here, aby uzyskać więcej informacji na temat samego iterowanego logarytmu.

Iterowany logarytm jest to liczba przypadków, w których musi zostać zastosowany logarytm, zanim wynik stanie się jeden lub mniejszy.

25

Nazywa się iterated logarithm function. Jest to funkcja bardzo wolno rosnąca. Np

  • lg*(2) = 1
  • lg*(4) = 2
  • lg*(16) = 3
  • lg*(65536) = 4
  • lg*(2^65536) = 5/uwaga, że ​​(2^65536) jest znacznie większa niż liczba atomów w obserwowalnym świata/

Albo w przypadku Big O może to być uważany za stały czas.

+6

Bardziej zwięźle, iterowany logarytm zlicza ile razy musiałbyś wykonać logarytm, aby zmniejszyć liczbę do 1. –

+0

Tak więc odwrotnością byłoby iteracyjne potęgowanie, które jest kolejnym w sekwencji: dodawanie, mnożenie (= dodawanie iteracyjne), potęgowanie (= wielokrotność iteracji), ... –

+0

Hmm, co z iteracją iteracyjną ... –

5

* log (n) - "Gwiazda log n" znana jako "potwierdzili logarytmu"

W uproszczeniu można przyjąć słowa * log (n) = log (log (log (..... (log * (n))))

log * (n) jest bardzo silny

Przykład.

1) log * (n) = 5, gdzie n = liczba atomie świata

2) Kolorowanie drzew za pomocą 3 kolorów można wykonać w log * (n) whil e kolorowanie Drzewo 2 kolory są wystarczające, ale złożoność będzie wtedy O (n).

3) Znalezienie triangulacji Delaunaya zestawu punktów znającego minimalne drzewo rozpinające Euklidesa: losowy czas O (n log * n).

Mam nadzieję, że można wizualizować dzienniku * (N) tak na WolframAlpha Check here

2

log * to ile razy trzeba zastosować dziennik funkcję aż wartość, która mniej lub równe 1. Na przykład: * log (16) = 3, bo bali (log (log (16))) = 1.

Dla celów praktycznych można traktować jak stałą , ponieważ ta funkcja rośnie bardzo wolno.