Mikuláš je tady! Získej 90 % extra kreditů ZDARMA s promo kódem CERTIK90 při nákupu od 1199 kreditů. Pouze do neděle 7. 12. 2025! Zjisti více:
NOVINKA: Staň se datovým analytikem od 0 Kč a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

Diskuze – Lekce 21 - K čemu jsou algoritmy?

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Nejnovější komentáře jsou na konci poslední stránky.
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Stanislav Čerkasov
DarkCoder:26. října 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.

Odpovědět
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Odpovídá na DarkCoder
Stanislav Čerkasov:26. října 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. :)

Odpovědět
"When I'm sad, I stop being sad and be awesome instead. True story."
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Stanislav Čerkasov
DarkCoder:26. října 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í.

Odpovědět
"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. listopadu 10:54

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

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

PyCharm hlasí stejnou hlášku.

Nejnovější komentáře jsou na konci poslední stránky.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 14.