eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingrandomizowany quicksort: analiza dzialania › Re: randomizowany quicksort: analiza dzialania
  • Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!new
    s.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!border2.nntp.
    dca.giganews.com!nntp.giganews.com!postnews.google.com!p2g2000yqh.googlegroups.
    com!not-for-mail
    From: Mariusz Marszałkowski <m...@g...com>
    Newsgroups: pl.comp.programming
    Subject: Re: randomizowany quicksort: analiza dzialania
    Date: Tue, 11 May 2010 08:21:34 -0700 (PDT)
    Organization: http://groups.google.com
    Lines: 31
    Message-ID: <c...@p...googlegroups.com>
    References: <b...@4...com>
    <8...@d...googlegroups.com>
    <s...@4...com>
    <4...@o...googlegroups.com>
    <u...@4...com>
    <4...@k...googlegroups.com>
    <n...@4...com>
    <a...@e...googlegroups.com>
    NNTP-Posting-Host: 89.229.34.123
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    X-Trace: posting.google.com 1273591294 19834 127.0.0.1 (11 May 2010 15:21:34 GMT)
    X-Complaints-To: g...@g...com
    NNTP-Posting-Date: Tue, 11 May 2010 15:21:34 +0000 (UTC)
    Complaints-To: g...@g...com
    Injection-Info: p2g2000yqh.googlegroups.com; posting-host=89.229.34.123;
    posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
    User-Agent: G2/1.0
    X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.3)
    Gecko/20100401 Firefox/3.6.3 (.NET CLR 3.5.30729),gzip(gfe)
    Xref: news-archive.icm.edu.pl pl.comp.programming:185557
    [ ukryj nagłówki ]


    > > <m...@g...com> wrote:
    > W pierwszym poście oczywiście się pomylilem, należy mianownik
    > zamienić z licznikiem. Oszacowanie prawdopodobienstwa ze para zostanie
    > porównana wynosi:
    > ilosc_porownan / ilosc_par => n*log(n) / n*(n-1) => log(n) / (n-1)
    To "globalnie", dla wszystkich rekurencyjnych wywolan qsorta.

    A "lokalnie" (czyli, w jednym wywołaniu rekurencyjnym qsorta) mamy
    x danych, czyli x*(x-1) par. Wybieramy osiowy element i porownujemy
    go z kazdym elementem, czyli mamy (x-1) porownanych par. Czyli
    lokalnie ilosc_porownan / ilosc_par => (x-1) / (x*(x-1)) => 1 / x.

    Chyba ze chcesz liczyc prawdopodobienstwo dla kazdej pary
    osobno. Ma to sens tylko wtedy gdy odleglosc pomiedzy
    para w kolejnych wywolaniach rekurencyjnych sie nie zmienia.

    Mamy N elementow. W pierwszym wywolaniu rekurencyjnym
    para bedzie porownana z prawdopob. 2/N - element osiowy
    musi byc elementem pary. W drugim wywolaniu zeby doszlo
    do porownania para nie moze zostac rozbita, czyli element
    element osiowy musi nie nalezec do pary ani nie byc
    elementem pomiedzy para. Czyli 1 - (odleglosc_pomiedzy_para+2) / N.
    Jesli nie dojdzie do podzialu to w drugim wywolaniu mamy
    2^2/N szans ze element pary stanie sie elementem osiowym.
    Czyli mnozymy (1 - (odleglosc+2) / N) * 2^2/N. W trzecim
    analogicznie, ostatecznie trzeba zrobic sume tego szeregu.
    Kto zrobi?

    Pozdrawiam

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: