-
Data: 2012-07-15 19:35:44
Temat: Re: W NYC ucza przedszkolakow C++
Od: Edek Pienkowski <e...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Dnia Sun, 15 Jul 2012 16:41:06 +0000, PK napisal:
> On 2012-07-15, Edek Pienkowski <e...@g...com> wrote:
>> Sortowanie nie jest z ostatnich 10 lat. Nie wiem, co masz na myśli
>
> Wspomniany wcześniej Timsoft jest z 2002 roku. Nie jest to algorytm
> znany, ale jest bardzo często używany (przez popularność Pythona, więc
> w pewnym sensie ważny :)). Z tego samego roku pochodzi bardzo ciekawy
> spreadsort (polecam poczytać).
Z kwietnia czy października? To już prawie 10 ;)
> Z bardziej znanych... tu nie mam pewności, ale chyba bucket sort
> (jako uogólnienie kilku innych) jest dosyć świeży. Z całą pewnością
> w ostatnich latach ten algorytm był mocno rozwijany.
>
>> mówiąc "algorytmika". Jeżeli tworzenie nowego algorytmu sortowania to ok,
>> ale przy zwykłym stosowaniu i to "często i gęsto" sortowania nie ma
>> żadnego znaczenia, jakiego sorta używa biblioteka, o ile a) nie jest
>> w ciasnej pętli, albo b) nie ma zauważalnie dużo elementów. Ostatecznie
>> i tak z profilerem się nie dyskutuje.
>
> Może w Twoim doświadczeniu nie ma, ale ludzie mają różne sytuacje.
> Np. dla mnie zazwyczaj wariant pesymistyczny jest znacznie bardziej
> istotny niż średni - dlatego m.in. nie używam quicksorta. Poza tym
> często cierpię na deficyt RAMu i staram się dobierać algorytmy in situ.
Ja faktycznie mam takie podejście do sortowania jak do nowego modelu
uchwytu śrubokręta. Zwracam na nie uwagę tylko wtedy gdy jest mi
potrzebny akurat taki a nie inny. Domyślam się, że mamy tu swoistą
symetrię.
> Niektóre algorytmy dobrze radzą sobie z ciągami zupełnie losowymi,
> a inne z już częściowo posortowanymi.
To jest odwieczny problem, dane o określonej skrukturze mogą trafić
w wariant pesymistyczny albo nawet trafiać bardzo często. Brak
struktury to też pewna cecha z gatunku cech strukturalnych,
nie ma jak tego skompresować chociażby.
Z ciekawości, który algorytm najlepiej odwróci sortowanie?
(Poza reverse(), nie wiemy, że są posortowane odwrotnie).
> I to nie jest tak, że chcę być fajny i optymalizuję sortowanie
> 200 numerów telefonów w książce adresowej :). Te problemy są dla mnie
> naprawdę istotne :).
Rozumiem. O większości powyższych słyszałem, w dokumentacji bibliotek
Pythona też pamiętam, że chyba faktycznie był to timsort, ale mój
mózg nisko spriorytetyzował tę informację i się zagubiła.
Zaskoczyło mnie, że te algorytmy są stosunkowo nowe. Doczytam kiedyś
w wolnej chwili, kiedyś ta wiedza się może przydać. Kolejna dziedzina,
gdzie wydawałoby się że nic już nowego nie powstanie, a jednak.
> Wiem, że jestem w tym wypadku marginesem, ale to nie zmienia faktu, że
> każda osoba używająca jakiejś funkcji "sort()" powinna przynajmniej
> wiedzieć, co ta funkcja zwraca, czyli czy algorytm jest stabilny.
> Widywałem już programy sypiące się, bo autor o tym zapomniał.
Prawda, ja też widzę często bardziej podstawowe błędu typu a < b < c
i c < a. Nie różnię się tutaj od innych programistów, robię błędy
które muszę poprawiać, takie też z podobną częstotliwością jak
if (a) zamiast if (!a).
Edek
Następne wpisy z tego wątku
- 15.07.12 19:33 Wojciech Jaczewski
- 15.07.12 20:18 PK
- 16.07.12 00:38 Wojciech Jaczewski
- 16.07.12 11:25 AK
- 16.07.12 11:31 AK
Najnowsze wątki z tej grupy
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-11-16 Łódź => Frontend Engineer (Three.js) <=
- 2024-11-16 Warszawa => Expert Recruiter 360 <=
- 2024-11-16 Żerniki => Starszy specjalista ds. księgowości/ Samodzielny księgo
- 2024-11-16 Pruszków => Team Leader (PHP+React) <=
- 2024-11-16 Warszawa => Senior Cloud Consultant (AWS) <=
- 2024-11-16 Warszawa => Sitecore Developer <=
- 2024-11-16 Akta sprawy Kajetan Poznański
- 2024-11-16 Warszawa => OpenText ECM Specialist <=
- 2024-11-16 Warszawa => Account Manager - Sprzedaż Usług Rekrutacyjnych <=
- 2024-11-16 Warszawa => Account Manager - Usługi rekrutacyjne <=
- 2024-11-15 Google Play
- 2024-11-15 Szybcy i wściekli
- 2024-11-16 Opis produktu z Aliexpress
- 2024-11-15 No proszę, a śmialiście się z hindusów.
- 2024-11-14 Zewnętrzne napięcie referencyjne LM385 1,2V -> 100mV dla ICL7106, Metex M-3800