eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingKiedy qsort zaczyna źle działać?Re: Kiedy qsort zaczyna źle działać?
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!.POSTED!not-for-mail
    From: Borneq <b...@a...hidden.pl>
    Newsgroups: pl.comp.programming
    Subject: Re: Kiedy qsort zaczyna źle działać?
    Date: Thu, 16 Jul 2015 08:31:56 +0200
    Organization: ATMAN - ATM S.A.
    Lines: 21
    Message-ID: <mo7j4t$bsv$1@node2.news.atman.pl>
    References: <mo6d72$n3b$1@node1.news.atman.pl> <mo6i8q$sld$1@node1.news.atman.pl>
    <mo6im9$cqj$1@node2.news.atman.pl> <mo6jq3$u9f$1@node1.news.atman.pl>
    NNTP-Posting-Host: 91.239.205.105
    Mime-Version: 1.0
    Content-Type: text/plain; charset=utf-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: node2.news.atman.pl 1437028317 12191 91.239.205.105 (16 Jul 2015 06:31:57
    GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Thu, 16 Jul 2015 06:31:57 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101
    Thunderbird/31.7.0
    In-Reply-To: <mo6jq3$u9f$1@node1.news.atman.pl>
    Xref: news-archive.icm.edu.pl pl.comp.programming:207855
    [ ukryj nagłówki ]

    W dniu 2015-07-15 o 23:37, bartekltg pisze:
    > W pewnym przypadkach i mnimalnie. Potrzebujesz dodatkowej pamięci.
    > Chyba nawet w Cormenia było;-) Tworzy sie stos z wrzucanymi na niego
    > elementami podziału.

    Widziałem implementacje w Pascalu zwykłego Qsorta i iteracyjnego.
    Iteracyjny był znacząco szybszy. Nie bez powodu stosuje się w programach
    funkcje inline aby nie mieć narzutu na wołanie procedury. W
    rekurencyjnej metodzie nie można zrobić inline natomiast mamy tam masę
    wywołań. Poza tym łatwiej jest zaimplementować pasek postępu dla
    długiego sortowania.

    > W ząden sposób nie zapobiega to przypadkowi złego działąnia qsorta.
    > Wiec tablica musi mieć w praktyce długość rzędu długości danych.

    W procedurze pascalowej była tablica rzędu 40-tu par i nigdy się do tej
    granicy nie zbliżało, był pewien zapas. Dla kilu milionów 20 w
    zupełności wystarczało, trzeba było mniej tablicy niż log2(N).
    Zostaje przypadek złośliwy, ale wtedy lepiej przełączyć się na heapsort
    zamiast zwiększać tablicę.

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: