Algoritmické myslenie
Algoritmické myslenie
Má zmysel študovať "algoritmické knihy" keď mi nejde o to, aby som vedel 10 druhov radenia a spol., ale skôr o trénovanie schopnosti riešenia problémov?
Ak áno, ktoré knihy by ste doporučili? Podotýkam Knuth je veľmi náročný, niečo ľahšie.
Ak áno, ktoré knihy by ste doporučili? Podotýkam Knuth je veľmi náročný, niečo ľahšie.
Re: Algoritmické myslenie
Samozrejme, že to má zmysel. Pochopením týchto základných algoritmov a dátových štruktúr si otváraš úplne iný svet, ako riešením kadejakých hádaniek.
Dôležité je aj jedno aj druhé, no každé inak.
Ak poznáš takéto (základné) algoritmy a dátové štruktúry a skutočne ich chápeš (aj z pohľadu teórie zložitosti), si schopný rozhodnúť, ktorý algoritmus/DatŠtrukt. použiť na konkrétnu úlohu. Napríklad určite neplatí to, čo si myslí veľmi veľa (samozvaných) programátorov, že "quicksort je najlepší vždy a všade".
Ďalej sa dozvieš užitočné veci ako radenie v lineárnom čase, radenie nevyužívajúce C&S operáciu (Compare&Swap), ďalej vyhľadávanie v logaritmickom, alebo aj v loglog čase, na to nadväzujú binárne stromy, na to ďalej n-árne stromy, haldy, prioritné fronty a ďalej až k teórií grafov a to je už úplne iná rozprávka. Je toho naozaj veľa. A áno, správny programátor by tieto (aspoň základné) pojmy mal ovládať, pretože vďaka tejto teórií je schopný riešiť problémy na mieru a hlavne efektíve.
Taktiež analýza zložitosti týchto algoritmov ťa naučí, ako podobne analyzovať aj vlastné, tj. ako zistiť, či je tvoj algoritmus nie len funkčný, ale aj dostatočne efektívny na vyriešenie problému.
(pozn.: často neplatí pre javistov a webistov, ktorí proste použijú funkciu sort a nejakú predpripravenú všemocnú štruktúru a vôbec ich netrápi, ako pracuje, lebo im aj tak všetko funguje pomaly a sú na to zvyknutí... : D )
Dôležité je aj jedno aj druhé, no každé inak.
Ak poznáš takéto (základné) algoritmy a dátové štruktúry a skutočne ich chápeš (aj z pohľadu teórie zložitosti), si schopný rozhodnúť, ktorý algoritmus/DatŠtrukt. použiť na konkrétnu úlohu. Napríklad určite neplatí to, čo si myslí veľmi veľa (samozvaných) programátorov, že "quicksort je najlepší vždy a všade".
Ďalej sa dozvieš užitočné veci ako radenie v lineárnom čase, radenie nevyužívajúce C&S operáciu (Compare&Swap), ďalej vyhľadávanie v logaritmickom, alebo aj v loglog čase, na to nadväzujú binárne stromy, na to ďalej n-árne stromy, haldy, prioritné fronty a ďalej až k teórií grafov a to je už úplne iná rozprávka. Je toho naozaj veľa. A áno, správny programátor by tieto (aspoň základné) pojmy mal ovládať, pretože vďaka tejto teórií je schopný riešiť problémy na mieru a hlavne efektíve.
Taktiež analýza zložitosti týchto algoritmov ťa naučí, ako podobne analyzovať aj vlastné, tj. ako zistiť, či je tvoj algoritmus nie len funkčný, ale aj dostatočne efektívny na vyriešenie problému.
(pozn.: často neplatí pre javistov a webistov, ktorí proste použijú funkciu sort a nejakú predpripravenú všemocnú štruktúru a vôbec ich netrápi, ako pracuje, lebo im aj tak všetko funguje pomaly a sú na to zvyknutí... : D )
Re: Algoritmické myslenie
A nejaké odporúčané tituly? Napr. je Topfer na začiatok dobrý?
Re: Algoritmické myslenie
Neviem, knihy nepoznám, tiež si môžem akurát prečítať popis a komentáre. Skús niečo nájsť a kúpiť, tiež je hlúposť dva mesiace len vyberať knihu. Čo ti nebude dobré na začiatok, bude ti možno dobré neskôr.
-
lowmanek
Light Professional
- Príspevky: 977
- Registrovaný: 04 apr 2010, 8:53
- Bydlisko: 221B Baker Street
Re: Algoritmické myslenie
Topfera mám doma, nič tým nepokazíš, ale všetko je na nete a zadarmo. Začni napr. Liahňou https://liahen.ksp.sk/ pozri aj Kuchárku http://ksp.mff.cuni.cz/encyklopedie/kuc ... charky.pdf a to je z CZ/SK asi všetko, čo poznám 
Neviem, ako si na tom s programovaním, ale na Coursera teraz začína kurz Algorithms: Design and Analysis, Part 1 https://class.coursera.org/algo-006 Naposledy som ho nedal, ale teraz som sa hecol, tak uvidím
Neviem, ako si na tom s programovaním, ale na Coursera teraz začína kurz Algorithms: Design and Analysis, Part 1 https://class.coursera.org/algo-006 Naposledy som ho nedal, ale teraz som sa hecol, tak uvidím
-
Fabo
Hardcore addict
- Príspevky: 6810
- Registrovaný: 16 nov 2007, 17:23
- Bydlisko: 's Chravenhache
- Kontaktovať používateľa:
Re: Algoritmické myslenie
Coursera je fajn, blbe je, ze nemam cas na to. Najlepsie mi je mat normalnu fyzicku knihu, a vziat si ju trebars do cakarne k lekarovi, alebo do prace ked mam kus volnejsie, v lete do prirody. Da sa ciastocne nahradit tabletom.
Inak referenciu na dobry titul by som privital aj ja, kludne cudzojazycny ak je dostupny.
Inak referenciu na dobry titul by som privital aj ja, kludne cudzojazycny ak je dostupny.
-
lowmanek
Light Professional
- Príspevky: 977
- Registrovaný: 04 apr 2010, 8:53
- Bydlisko: 221B Baker Street
Re: Algoritmické myslenie
Fabo, čo konkrétne potrebuješ? Si na výške a chceš niečo kam sa pozrieš a spomenieš si na prednášku alebo všetko od základov?
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: Algoritmické myslenie
áno, aj nie. Zbytočne vymýšlať koleso keď už vymyslené je. Takže čím viac všeobecne známych algoritmov poznáš, tým lahšie vyriešiš úlohu lebo nemusíš riešiť to čo vyriešené je. Taktiež to nemusíš ladiť, lebo je to formálne dokázané ako optimálne riešenie. Ale ak ti nejde len o poznanie algoritmov ale chceš vedieť analyticky myslieť, tak ti nestačí iba toto. V takom prípade by som možno skôr odporúčal riešenie logických úloh. Radšej kúpiť knihu rébusov a hlavolamovParagon napísal:Má zmysel študovať "algoritmické knihy" keď mi nejde o to, aby som vedel 10 druhov radenia a spol., ale skôr o trénovanie schopnosti riešenia problémov?
-
Fabo
Hardcore addict
- Príspevky: 6810
- Registrovaný: 16 nov 2007, 17:23
- Bydlisko: 's Chravenhache
- Kontaktovať používateľa:
Re: Algoritmické myslenie
Nie, som programator-samouk, ale chcem sa nejak posunut (o.i. aj z kariernych dovodov) a mam pocit ze k tomu potrebujem aj nejaku tu teoriu, jednak algoritmy a potom aj po stranke dizajnoveho procesu (alebo ako to nazvat).lowmanek napísal:Fabo, čo konkrétne potrebuješ? Si na výške a chceš niečo kam sa pozrieš a spomenieš si na prednášku alebo všetko od základov?
-
harrison314
Hardcore addict
- Príspevky: 8217
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: Algoritmické myslenie
Ak sa chces niekam posunut chod na vysku. Viem, ze by si radcj knihu, ale tam sa dozvies aj veci, co v knihach nenajdes.Fabo napísal:
Nie, som programator-samouk, ale chcem sa nejak posunut (o.i. aj z kariernych dovodov) a mam pocit ze k tomu potrebujem aj nejaku tu teoriu, jednak algoritmy a potom aj po stranke dizajnoveho procesu (alebo ako to nazvat).
Samozrejme nebranim citat knihy, sice o algortmoch velmi nepoznam, ale odporucamti Čistý kód, pomoze ti lepsie programovat a hlavne citatlenjsie.
" po stranke dizajnoveho procesu (alebo ako to nazvat)" - asi myslis toto http://cs.wikipedia.org/wiki/Proces_v%C ... e_softwaru
-
Fabo
Hardcore addict
- Príspevky: 6810
- Registrovaný: 16 nov 2007, 17:23
- Bydlisko: 's Chravenhache
- Kontaktovať používateľa:
Re: Algoritmické myslenie
Fasa, budes ma tych dalsich 5-6 rokov zivit? 80-100 tisic by mohlo snad stacit 
Keby to bolo take jednoduche tak na tu vysku idem...
Keby to bolo take jednoduche tak na tu vysku idem...
-
harrison314
Hardcore addict
- Príspevky: 8217
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: Algoritmické myslenie
Ak musis ist externe tak to moze byt problem, no pocas liet si viesdaco zarobit, alebo byt dobri a mat stipendium.Fabo napísal:Fasa, budes ma tych dalsich 5-6 rokov zivit? 80-100 tisic by mohlo snad stacit
Keby to bolo take jednoduche tak na tu vysku idem...
No poznam ludi co to zvladli, aj ked to nemali jednoduche a pracovali kade tade, aby zaplatili skolne a internat.
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: Algoritmické myslenie
prednášky bývajú väčšinou verejné, na výšku môžeš chodiť a vedomosti naberať aj zadarmo, len nedostaneš titulFabo napísal:Fasa, budes ma tych dalsich 5-6 rokov zivit? 80-100 tisic by mohlo snad stacit
Keby to bolo take jednoduche tak na tu vysku idem...
-
Fabo
Hardcore addict
- Príspevky: 6810
- Registrovaný: 16 nov 2007, 17:23
- Bydlisko: 's Chravenhache
- Kontaktovať používateľa:
Re: Algoritmické myslenie
Chlapi a zit budem z coho? Zit myslene nie na urovni studentskej, intraky menza, ale na normalnej urovni cloveka v produktivnom veku.
Na prednasky chodit nemozem, lebo chodim vtedy do roboty. Externe by bola moznost, keby to bola moznost (zistoval som, momentalne sa na vychode da len denne).
Na prednasky chodit nemozem, lebo chodim vtedy do roboty. Externe by bola moznost, keby to bola moznost (zistoval som, momentalne sa na vychode da len denne).
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: Algoritmické myslenie
na prednášky nemusíš chodiť osobne. To že sú verejné znamená že sú často poskytované materiály alebo dokonca streamy z prednášok na internete. Väčšinou to býva pre študentov, ale ak niekoho z výšky poznáš, mohol by ti to sťahovať a posúvať. Prípadne pohladať na nete, určite ich nájdeš kopec.
Ďalšou možnosťou je absolvovať nejaký MOOC program, napríklad na coursera alebo educase. Kurz si budeš robiť cez net kedy budeš mať čas (večer, víkend..)
Ďalšou možnosťou je absolvovať nejaký MOOC program, napríklad na coursera alebo educase. Kurz si budeš robiť cez net kedy budeš mať čas (večer, víkend..)