-
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: Fri, 12 Oct 2012 23:20:10 +0200
Organization: ATMAN - ATM S.A.
Lines: 86
Message-ID: <k5a1ih$slr$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>
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 1350076817 29371 85.222.69.144 (12 Oct 2012 21:20:17
GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Fri, 12 Oct 2012 21:20: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: <k59q5n$np3$1@mx1.internetia.pl>
Xref: news-archive.icm.edu.pl pl.comp.programming:199787
[ ukryj nagłówki ]W dniu 2012-10-12 21:08, Michoo pisze:
> On 12.10.2012 19:28, bartekltg wrote:
>> W dniu 2012-10-12 19:14, Michoo pisze:
>>> On 12.10.2012 18:28, Roman W wrote:
>>>> W dniu piątek, 12 października 2012 17:26:27 UTC+1 użytkownik
>>>> identyfikator: 20040501 napisał:
>>>>> sory za lameriadę, jaki algorytm sotrujący jest najprostszy w
>>>>> implementacji?
>>>>>
>>>>> nie musi być szybki...
>>>>
>>>> Bubble sort?
>>> Nie wiem sąd się wziął ten mit - sortowanie przez wybór (selection sort)
>>> jest znacznie prostsze w implementacji i bardziej intuicyjne.
>>
>> Chwytliwa nazwa. Sięgnąłem do ASD Diksa i spółki. Tam
>> bąbelki prewencyjnie przemilczają;)
> Ale to jest ogólnie całkiem niezła książka. (A przydała mi się więcej
> razy niż Cormen.)
Przecież chwalę. Patrząc na tę dyskusję brak bąbelków
można uznać jedynie za zaletę;)
Sam kupilem tą książkę jeszcze przed studiami,
trochę przez przypadek, a potem byłem z tego powodu
bardzo szczęśliwy;)
> Nie wiedzieć czemu w edukacji stosuje się bąble do nauczania na samym
> poczatku, mimo, że zasada działania jest świetnym przykładem "jak nie
> projektować algorytmów". A potem licealiści/studenci na pytanie o
> najprostszy algorytm sortowania odpowiadają "bąbelki"...
Przytargane z wiki:
http://www.cs.duke.edu/~ola/papers/bubble.pdf
>>
>> BTW, jakiś mały flejmik selectionsort vs insertionsort? ;>
> Tu nie ma o czym dyskutować ;) - selectionsort jest najszybszy w
> zapisaniu i najprostszy w wyjaśnieniu a poza przypadkami danych
> częściowo (mocno) posortowanych szybszy od insertion.
>
> Insertion jest niezły jako kolejny krok do uczenia algorytmów - można
> pokazać, ze coś co teoretycznie jest szybkie w praktyce po uwzględnieniu
> kosztu operacji na rzeczywistej pamięci ma ukryty koszt.
No i widzisz, już mamy pole do posprzeczania się:)
Insertionsort jest w oczywisty sposób szybszy w sensie
oczekiwanej liczby porównań (w select wyszukujemy maks
wśród tablic długości n, n-1, n-2...4,3,2, w insert
wkładamy zadany element w tablice długości 1,2..n-1,
a średnio włożymy w połowę długości.
Jeśli więc porównanie jest znacznie kosztowniejsze od
przesunięcia, wolimy mieć dwa razy mniej porównań,
nawet kosztem dodatkowych ~n^2 przesunięć.
Jeśli sortowalibyśmy listę, problem w ogóle znika.
A czasem o wyborze może zadecydować stabilność sortowania.
Tak więc ja bym nie był tak pewny odpowiedzi:)
A poważnie, z tą pamięcią to ciekawy problem.
Jeśli już mamy całość w cache (nie rozważamy
przecież na serio sortowania dużych tablic)
ale jednocześnie porównanie jest tanie (inty).
Żeby nie był to problem czysto akademicki,
niech to będzie 'końcówka qsorta'. Wtedy wywoływany
obszar i tak już najpewniej jest pod ręką.
Heh, możnaby jakimś studentom zadać;)
> No i na jego
> podstawie powstało sortowanie Shella, które jest naprawdę ciekawym
> (aczkolwiek niepraktycznym) rozwiązaniem.
Wyścigi, kto znajdzie lepszą sekwencję długości skoków chyba
nadal trwają;)
pzdr
bartekltg
Następne wpisy z tego wątku
- 13.10.12 01:32 Baranosiu
- 13.10.12 10:11 Adam Wysocki
- 13.10.12 11:27 Edek Pienkowski
- 13.10.12 11:39 Michoo
- 13.10.12 13:52 Michoo
- 13.10.12 14:14 bartekltg
- 13.10.12 14:16 PK
- 13.10.12 14:27 PK
- 13.10.12 14:46 Edek Pienkowski
- 13.10.12 14:49 Edek Pienkowski
- 13.10.12 15:13 bartekltg
- 13.10.12 15:13 PK
- 13.10.12 15:26 kenobi
- 13.10.12 15:32 Edek Pienkowski
- 13.10.12 15:36 Edek Pienkowski
Najnowsze wątki z tej grupy
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
Najnowsze wątki
- 2025-07-23 Gdańsk => Programista Delphi <=
- 2025-07-23 Gdańsk => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-23 Warszawa => Starszy inżynier DevOps (AWS) <=
- 2025-07-23 Gdańsk => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-23 Kraków => Senior Fullstack Engineer (Low-Code Platform) <=
- 2025-07-23 Wrocław => Senior Key Account Manager IT <=
- 2025-07-23 Trójmiasto => Head of Social Media <=
- 2025-07-23 Rzeszów => Spedytor Międzynarodowy <=
- 2025-07-23 Lublin => ERP Implementation Consultant (AP Module) <=
- 2025-07-23 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-07-23 Warszawa => Inżynier oprogramowania .Net <=
- 2025-07-23 Kraków => Kotlin Developer <=
- 2025-07-23 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-07-23 Warszawa => Java Developer <=
- 2025-07-23 Wrocław => Konsultant wdrożeniowy (systemy controlingowe) <=