Forum Informatyka UJ forum Strona Główna Informatyka UJ forum
Rocznik 2005 - czyli najlepsze forum w sieci
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Złożoność obliczeniowa

 
Napisz nowy temat   Odpowiedz do tematu    Forum Informatyka UJ forum Strona Główna -> Archiwum / 1 rok / 1 semestr - Informatyka
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Makros
pijak



Dołączył: 01 Gru 2005
Posty: 420
Przeczytał: 0 tematów

Skąd: Kraków

PostWysłany: Pią 0:45, 03 Lut 2006    Temat postu: Złożoność obliczeniowa

Mam mały problem dotyczący złożoności obliczeniowej, a tak dokładniej to z algorytmami o złożoności logarytmicznej... Niech no mi ktoś powie, poczym, moge poznać, że jakiś algorytm jest tejże złożoności a nie np. kwadratowej...? może jakieś krótkie przykłady z omówieniem, czym to się chrakteryzuje...

---edit---

no i czemu do jasnej.... w tym przykładzie:

Kod:
i <- 1
DOPÓKI  i < n WYKONUJ
    i <- i+4 ; j <- 1
    DOPÓKI  j < n WYKONUJ  j <- 2 * j + 1


jest złożoność n log n ???
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
exe
Gość






PostWysłany: Pią 1:17, 03 Lut 2006    Temat postu:

No ja to tak robie: Wieceej to niz n, mniej niz n^2, jakies mnozenia sa, zatem bedzie n log n :P Oznacza to, ze dla n = 10, wykonanych zostanie ~ 10*lg 10 iteracji wewnetrznej petli. samo lg n masz czesto przy jakis drzewach, grafach, wyszukiwaniu binarnym itp itd. (lg to log o podstawie 2).


To tak na chlopski rozum, dokladniej, precyzyjniej masz w notatkach z wykladu :P
Powrót do góry
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
jagm
zielony żul



Dołączył: 01 Lut 2006
Posty: 1421
Przeczytał: 0 tematów


PostWysłany: Pią 1:37, 03 Lut 2006    Temat postu: Re: Złożoność obliczeniowa

log n to znaczy, ze z kazdym wykonaniem pętli jesteś dwa razy bliżej końca niż poprzednio ;]
przykładem jest wyszukiwanie połówkowe:
jak masz n elementów, to przy każdym sprawdzeniu, czy a[(L+R)/2] to nasz szukany x, ilość elementów do sprawdzenia zmniejsza się o około połowę.

Makros napisał:

Kod:
i <- 1
DOPÓKI  i < n WYKONUJ
    i <- i+4 ; j <- 1
    DOPÓKI  j < n WYKONUJ  j <- 2 * j + 1


jest złożoność n log n ???


najbardziej znaczącym (czy jak to tam było określone na wykładzie) działaniem jest j:=2*j+1
i teraz sprawdzasz ile razy jest wykonywane to działanie. pętla najbardziej zagnieżdżona ma log n, bo za każdym razem wartość j zwiększasz dwukrotnie. A zewnętrzna pętla wykona się n/4 razy (czyli dla uproszczenia n razy). Czyli całość ma n * log n

Przynajmniej ja to tak rozumiem i mam nadzieję, że dobrze ;]
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Informatyka UJ forum Strona Główna -> Archiwum / 1 rok / 1 semestr - Informatyka Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach

fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Regulamin