Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 21. diel - Na čo sú algoritmy?

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
DarkCoder
Člen
Avatar
Odpovedá na Stanislav Čerkasov
DarkCoder:26. októbra 21:01

Z hlediska teoretické složitosti je Timsort na stejné úrovni jako Quicksort – oba mají průměr O(n log n). Ale v praxi bývá Timsort často rychlejší u částečně setříděných dat či dat s mnoha duplicitami. Quicksort ale může být rychlejší u zcela náhodných dat a má nižší paměťovou náročnost. Patří mezi nejefektivnější univerzální třídicí algoritmy. Timsort je stabilní algoritmus, zachovává pořadí prvků se stejným klíčem, což může být v mnoha ohledech užitečné. Na druhou stranu to vyžaduje více kopírování a tudíž i menší rychlost oproti nestabilnímu Quicksortu.

Odpovedať
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Odpovedá na DarkCoder
Stanislav Čerkasov:26. októbra 21:05

I tak použití Timsortu je v Pythonu jednodušší, neboť je vyvoláno jen sort(), nebo sorted(), když to pro ostatní algoritmy se musí buď psát samostatně, nebo importovat z knihoven. Proto by v článku bylo moc fajn ( i v Benchmarku) tento algoritmus minimálně zmínit. :)

Odpovedať
"When I'm sad, I stop being sad and be awesome instead. True story."
Avatar
DarkCoder
Člen
Avatar
Odpovedá na Stanislav Čerkasov
DarkCoder:26. októbra 21:15

Ano, Timsort je v Pythonu používán jako výchozí třídící algoritmus. Určitě je dobré nezanevřít na to používat jiné třídící algoritmy pokud budou vhodnější pro danou úlohu. Ale použití Timsortu je pro většinu běžných úloh dostačující. On ten článek spíše nahlíží na danou problematiku obecně, než vyloženě do detailu, kde by se porovnávaly ty nejdůležitější algoritmy. Proto bych absenci Timsortu v benchmarku nebral jako stěžejní.

Odpovedať
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Jan Kupčík
Člen
Avatar
Jan Kupčík:17. novembra 10:54

Stažený benchmark mi ve Visual Studio Code hází chybu:

SyntaxWarning: invalid escape sequence '\ '
| | | | '_ \ / _ \ __\ \ /\ / / _ \| '__| |/ / / __|_ /

PyCharm hlasí stejnou hlášku.

Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 4 správy z 14.