eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingsortowanieRe: sortowanie
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!.POSTED!not-for-mail
    From: bartekltg <b...@g...com>
    Newsgroups: pl.comp.programming
    Subject: Re: sortowanie
    Date: Sun, 14 Oct 2012 03:05:10 +0200
    Organization: ATMAN - ATM S.A.
    Lines: 75
    Message-ID: <k5d34d$nt1$1@node2.news.atman.pl>
    References: <k59gbj$be7$1@node2.news.atman.pl>
    <6...@g...com>
    <k59jgh$mb7$1@mx1.internetia.pl> <k59jvr$360$1@node1.news.atman.pl>
    <k59q5n$np3$1@mx1.internetia.pl> <k5a1ih$slr$1@node2.news.atman.pl>
    <k5bd6c$a6c$1@mx1.internetia.pl> <k5blvn$3nk$1@node1.news.atman.pl>
    <k5chsn$f2b$1@mx1.internetia.pl>
    <6...@g...com>
    <5079e395$0$1305$65785112@news.neostrada.pl>
    <a...@g...com>
    <5079ec94$0$1309$65785112@news.neostrada.pl>
    <k5crml$h7t$1@node2.news.atman.pl>
    <5079f663$0$26697$65785112@news.neostrada.pl>
    <k5ctos$j0l$1@node2.news.atman.pl>
    <2...@g...com>
    NNTP-Posting-Host: 144-mi3-6.acn.waw.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: node2.news.atman.pl 1350176717 24481 85.222.69.144 (14 Oct 2012 01:05:17
    GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Sun, 14 Oct 2012 01:05:17 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120907
    Thunderbird/15.0.1
    In-Reply-To: <2...@g...com>
    Xref: news-archive.icm.edu.pl pl.comp.programming:199865
    [ ukryj nagłówki ]

    W dniu 2012-10-14 02:18, M.M. pisze:
    > W dniu niedziela, 14 października 2012 01:33:48 UTC+2 użytkownik bartekltg napisał:
    >> Teoretycznie to ja rysuję drzewo i nie muszę tego
    >> implementować;)
    >> Sprzętowe sortowanie za pomocą pełnego drzewa decyzyjnego
    >> dla 20 liczb? Jaja sobie robisz? ;) Oszczedza się kompa,
    >> ale trzeba tone krzemu.
    > Jak duze musi byc pelne drzewo decyzyjne? Poczatkowo mamy N! mozliwych
    > permutacji. Pierwsza instrukcja IF powoduje ze mam pewnosc co do
    > kolejnosci dwoch elementow. Jesli N==20, to po pierwszym IF nie
    > wiemy nic o 18tu elementach. Daje to 18! ciagow. Pozostale dwa elementy
    > moga byc wplecione w te 18 na 19*19 sposobow. 20! / ( 18! * 19^2 ) = 1.0526.
    > Po pierwszym IFie ilosc permutacji spadla o okolo 5%. O ile spadnie z
    > kazdym nastepnym ifem?

    Każdy if to pojście w prawo lub w lewo w drzewie decyzyjny.
    To jest drzewo binarne o 20! liściach. Czyli o wysokości
    ceil[log_2 (20!)] = 62 (PK już o tym pisał).
    To teraz wszystkie rozmiary w każdym kroku znasz.

    Pamiętaj, że w różnych gałęziach 'te same' ify mogą
    porównywać zupełnie inne obiekty. Zerknij na potworka
    poniżej. A to tylko 3 elementy.

    [pseudokod pod podpisem]

    Za to ile by się uprościło dopuszczając swapa po
    pierwszym porównaniu. Wtedy taki algorym rozgałęzia
    się tylko po 'topologicznie różnych' wynikach
    (oczywiste jest, że po 2 porównaniach możemy mieć
    linię albo V). Nadal ich liczba rośnie jednak wykładniczo.

    pzdr
    bartekltg


    a,b,c

    if (a>b)
    {
    if (b>c)
    {
    return {a,b,c};
    }
    else //a,c>b
    {
    if (a>c)
    {
    return {a,c,b};
    }else
    {
    return {c,a,b};
    }
    }
    }
    else //b>a
    {
    if (a>c)
    {
    return {b,a,c};
    }
    else //b,c>a
    {
    if (b>c)
    {
    return {b,c,a};
    }else
    {
    return {c,b,a};
    }
    }

    }


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: