-
Data: 2012-10-13 11:39:21
Temat: Re: sortowanie
Od: Michoo <m...@v...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 12.10.2012 23:20, bartekltg wrote:
> 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:
>>> 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.
>
> Przecież chwalę.
> Patrząc na tę dyskusję brak bąbelków
> można uznać jedynie za zaletę;)
Chodziło mi właśnie o to, że "nie ma bo to jest dobra książka" ;)
>
>
>> Nie wiedzieć czemu w edukacji stosuje się bąble do nauczania na samym
>> poczatku, [...]
>
> Przytargane z wiki:
> http://www.cs.duke.edu/~ola/papers/bubble.pdf
Fajne.
>
>>>
>>> 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.
Zgadza się.
>
> 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ęć.
Widziałem nawet takie rozważanie gdzie wyszukiwanie w części
posortowanej było robione przeszukiwaniem binarnym, a wstawianie było w
czasie stałym - dostajemy złożoność insertion sort n*log(n) ;)
>
> Jeśli sortowalibyśmy listę, problem w ogóle znika.
Lista musi być na tyle duża, że nie możemy jej skopiować do struktury o
dostępie swobodnym, ale jest to naciągane, bo przy złożoności n^2
prawdopodobnie taniej będzie przenieść listę na pamięć zewnętrzną,
zwolnić, wczytać do tablicy, posortować jakimś q/heap sortem, zapisać na
pamięć zewnętrzną, zwolnić, wczytać do listy ;)
>
> A czasem o wyborze może zadecydować stabilność sortowania.
Jeżeli dobrze widzę to i insertion i selection może być stabilny.
>
> 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ą.
Ale w takiej sytuacji jest heapsort działający zawsze w n*log(n) ;)
>
> Heh, możnaby jakimś studentom zadać;)
Wygrzebałem stare sprawozdanie na "algorytmy i struktury danych".
Najszybszym algorytmem dla losowych danych był wtedy heapsort napisany w
assemblerze (ale miałem na jego optymalizację dobre 3 godziny podczas
jazdy pociągiem). Największym zaskoczeniem był Shell:
http://grota.be/~michoo/smieci/algo_sort.png
--
Pozdrawiam
Michoo
Następne wpisy z tego wątku
- 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
- 13.10.12 15:39 bartekltg
- 13.10.12 15:53 kenobi
- 13.10.12 15:58 PK
- 13.10.12 15:58 identyfikator: 20040501
Najnowsze wątki z tej grupy
- 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
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
Najnowsze wątki
- 2025-06-30 Kraków => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu
- 2025-06-30 Środa Wielkopolska => Konsultant wewnętrzny SAP FI/CO <=
- 2025-06-30 Białystok => Programista Mainframe (z/OS, Assembler) <=
- 2025-06-30 Warszawa => International Freight Forwarder <=
- 2025-06-30 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-06-30 Warszawa => Spedytor Międzynarodowy <=
- 2025-06-30 Lublin => Delphi Programmer <=
- 2025-06-30 Lublin => Programista Delphi <=
- 2025-06-30 Wrocław => Controlling systems Consultant <=
- 2025-06-30 Nowa tarcza do telefonu
- 2025-06-29 Spotkania z Ariane De Rotschild, szefową Iluminatów, Księżniczką Hiszpanii Leonor
- 2025-06-29 Re: Dr. Kontek (już od paru lat nie SGH) odkrył odchylenia statystyczne [PO EKSPERCIE?]
- 2025-06-28 Upadłość i zwolnienia [w Diorze, która była pol prod. głośników - przyp. JMJ]
- 2025-06-28 Taśma izolacyjna do prac elektrycznych
- 2025-06-27 Recenzja 3.1A ;) w 6 gniazdach...