Knížka o algoritmech pro programátora

mladic

Knížka o algoritmech pro programátora
« kdy: 04. 01. 2016, 21:56:54 »
Je prinosom pre programatora (C#, JAVA, atd.) takyto typ knizky:

http://www.bookdepository.com/Introduction-Algorithms-Ronald-L-Rivest-Clifford-Stein-Charles-E-Leiserson-Thomas-H-Cormen/9780262533058

http://www.amazon.com/Algorithms-4th-Robert-Sedgewick/dp/032157351X/ref=sr_1_4?s=books&ie=UTF8&qid=1451478901&sr=1-4

Su tam popisane algoritmy.  Na skole sme sa ich ucili, ale ako iste vieme, vsetko raz z hlavy vyfuci...
« Poslední změna: 04. 01. 2016, 22:55:37 od Petr Krčmář »


Zdenek Henek nereg

Re:Knížka o algoritmech pro programátora
« Odpověď #1 kdy: 04. 01. 2016, 23:48:27 »
Je prinosom pre programatora (C#, JAVA, atd.) takyto typ knizky:

http://www.bookdepository.com/Introduction-Algorithms-Ronald-L-Rivest-Clifford-Stein-Charles-E-Leiserson-Thomas-H-Cormen/9780262533058

http://www.amazon.com/Algorithms-4th-Robert-Sedgewick/dp/032157351X/ref=sr_1_4?s=books&ie=UTF8&qid=1451478901&sr=1-4

Su tam popisane algoritmy.  Na skole sme sa ich ucili, ale ako iste vieme, vsetko raz z hlavy vyfuci...

Misto kupovani knih jsem si poridil https://www.safaribooksonline.com

Ke kazdemu tematu, ktery jsem zatim potreboval nastudovat jsem si prosel v rychlosti nekolik knih a vybral tu, ktera mi vyhovovala nejvice a tu jsem precetl celou. Libi se mi i moznost cist knihy, ktere jeste nejsou hotove -  Rough Cuts.

Analogove knihy kupuji pouze beletrii :).

nnn

Re:Knížka o algoritmech pro programátora
« Odpověď #2 kdy: 05. 01. 2016, 01:14:07 »
Naj mas si precit https://en.wikipedia.org/wiki/The_Art_of_Computer_Programming je to naj literatura co existuje k algorithmom ako celok. Cormen je tiez klasika :) Tu druhu nepoznam, ale najviac ti rozsiri obzory The Art of Computer Programming ako som spominal ale rataj s tym ze to nie su knihy co precitas za den.

Kazdopadne jed robis bezne weby alebo tak je mozne ze je len strata casu (investicia ktoru tam nevyuzijes)... Ale na 100% to spravi z teba lepsieho programatora. 

mladic

Re:Knížka o algoritmech pro programátora
« Odpověď #3 kdy: 05. 01. 2016, 07:30:50 »
tak programoval som webove aplikacie (rozumej IS), desktop, ale neprisiel som este do styku s niecim, kde by som vyuzival nejake zlozite algoritmy. skor by som tu knizku bral na rozsirenie obzorov. Knutha som tiez premyslal, ale to vyzera celkom HARD knizka.

mladic

Re:Knížka o algoritmech pro programátora
« Odpověď #4 kdy: 05. 01. 2016, 10:54:24 »
co vy nato?


Zdenek Henek nereg

Re:Knížka o algoritmech pro programátora
« Odpověď #5 kdy: 05. 01. 2016, 11:17:53 »
co vy nato?

Jesli to ma byt uceni jen tak pro pripad, ze bude mozna potreba, tak bych se radeji ucil matematiku(geometrii, statistiku). Pokud algoritmy znas ze skoly, tak uz neni tak tezke si vzpomenout na zakladni charakteristiky a v pripade, ze budes muset neco implementovat, tak si ten algoritmus muzes do detailu nastudovat znovu, pokud jsi ho zapomel/zapomenes. Spis budes jen pouzivat hotove knihovny a budes potrebovat jen ten prehled, abys pak napriklad nepouzival binary search na neserazene pole a pokud to nekdo z kolegu udela tak abys ho na to mohl upozornit, ze takto opravdu ne.

Vychazi docela zajimave knihy jako Po stopach obchodniho cestujiciho od W. J Cooka nebo zahadny zlaty rez - nejvetsi tajemstvi prirody od Scotta Olsena nebo kvantova teorie nikoho nezabije od Marcuse Chowna atd. Zajimave jsou taky prendasky z fyziky od Feynmana, ale neni vubec cas to vsechno cist, tak si sem tam prectu kousek a divim se, co vsechno jsem uz zapomel. Jednoho krasnyho dne se dostanu zpet ke slabikari :)

Pokud chces udrzovat mozek v kondici, tak sachy jsou na to jako delane. Je i hodne online serveru, takze se da hrat s lidma z celeho sveta.

Pouzij trochu fantazii :)

mladic

Re:Knížka o algoritmech pro programátora
« Odpověď #6 kdy: 05. 01. 2016, 11:38:40 »
no prave, ze uz som pozabudal tie veci, ze kedy je ako dany algoritmus efektivny. napr. ze ten binary search nie je efektivny v nezoradenom poli. skor pre taketo veci by som to chcel

Re:Knížka o algoritmech pro programátora
« Odpověď #7 kdy: 05. 01. 2016, 11:43:59 »
Znalost alg. se hodí, hlavně vědět, podle čeho algoritmus vybrat (časová a paměťová náročnost, modifikovatelnost) a mít představu o datových strukturách, které ty algoritmy používají (stromy...).

To odlišuje lepiče kódu (kterým to tak nějak samo funguje) od programátorů, kteří mají tušení, jak to na pozadí funguje a jaké z toho plynou důsledky (takže dokážou předejít problémům, se kterými se první skupina potýká až ad hoc). Samozřejmě každý občas lepí a naopak lepič, který se spálil, se pomalu posouvá do výššího levelu. To známe asi každý :-)

Osobně vystačím s inetem, občas koukám třeba sem https://algoritmy.net/

Tonda

  • *****
  • 680
    • Zobrazit profil
    • E-mail
Re:Knížka o algoritmech pro programátora
« Odpověď #8 kdy: 05. 01. 2016, 13:04:58 »
Misto kupovani knih jsem si poridil https://www.safaribooksonline.com
Safari Books je fajn, mám k tomu přístup v práci, ale obvykle potřebuji nastudovat nějakou problematiku párkrát do roka, což obnáší pročtení pár knih. Platit za to 399 USD ročně je docela hodně, uvítal bych nějaký "light" model účtování.

Karel

Re:Knížka o algoritmech pro programátora
« Odpověď #9 kdy: 05. 01. 2016, 13:43:19 »
tak programoval som webove aplikacie (rozumej IS), desktop, ale neprisiel som este do styku s niecim, kde by som vyuzival nejake zlozite algoritmy. skor by som tu knizku bral na rozsirenie obzorov. Knutha som tiez premyslal, ale to vyzera celkom HARD knizka.

Tak těch složitých alogoritmů je tam celá řada, například řazení nebo vyhledávání. Akorát to občas není vidět, protože člověk použije už připravené funkce a vlastně se ani nezamyslí nad tím, že pod kapotou bude něco složitějšího. Uvědomí si to obvykle až když něco nefunguje dobře, například to 1000 záznamů řadí 10 sekund. To pak koukne pod kapotu, orosí se mu čelo, zase to zavře a jde si to napsat sám nebo sehnat lepší knihovnu (to je podle nátury). Ve chvíli, kdy pak píšete něco netriviálního (například export databázového schema do grafické podoby), tak těch algoritmů použijete mraky. Tedy pokud opět nesáhnete po už hotovém programu někoho jiného.

Pakliže složitějšími algoritmy máte na mysli věci jako triangulaci polygonů, tak spíše než po univerzální bibli je lepší jít po konkrétní oblasti. Tohle je kupříkladu výpočetní geometrie.

Knuth je dobrá knížka, ale ne pro někoho jako jsem já. On se pan Knuth ani tak moc nezaměřuje na to jak, ale proč. Analýza, důkazy. Občas je těžké z toho textu vyčíst ten algoritmus (nemám matematické vzdělání na úrovni matfyzu) a důkaz, že algoritmus skutečně má uvedenou složitost, případně že je optimální, nepotřebuji. Mně stačí vědět, jaká je, autorům až na výjimky věřím. Pokud chcete bádat v oblasti algoritmizace, pak to rozhodně je doporučená literatura. Ten člověk to má srovnané v hlavě i na papíře. Jako almanach algoritmů se to ale nehodí.

mladic

Re:Knížka o algoritmech pro programátora
« Odpověď #10 kdy: 05. 01. 2016, 14:49:08 »
Karel:
a podla vas sa oplati niektora mnou z hore uvedenych?

balki

Re:Knížka o algoritmech pro programátora
« Odpověď #11 kdy: 05. 01. 2016, 15:22:15 »
Na zlozitost algoritmov odporucam volne dostupnu knihu:
Wilf - Algorithms and Complexity

Su tam vypocitavane zlozitosti k znamym algoritmom.

https://www.math.upenn.edu/~wilf/AlgoComp.pdf

mladic

Re:Knížka o algoritmech pro programátora
« Odpověď #12 kdy: 05. 01. 2016, 15:48:41 »

nnn

Re:Knížka o algoritmech pro programátora
« Odpověď #13 kdy: 05. 01. 2016, 15:51:07 »
Mlatic: najlepsie mas si pozret video kurzy a nie citat knihy. Ono algoritmy sa podla mna dost tazko chapu v citavej podobe. Mozes zacat napr. tu https://www.coursera.org/course/algo (je to zadarmo a kvalitne). K tomu ze analyza nie je potrebna alebo je to nieco navyse tak to je opacne, analyza pomoze programatorovi porozumiet ako algoritmus funguje  a na ake problemy sa aplikuje (popripade ake su jeho limity/vyhody/nevyhody).

hu

Re:Knížka o algoritmech pro programátora
« Odpověď #14 kdy: 05. 01. 2016, 15:55:50 »
Mlatic: najlepsie mas si pozret video kurzy a nie citat knihy. Ono algoritmy sa podla mna dost tazko chapu v citavej podobe. Mozes zacat napr. tu https://www.coursera.org/course/algo (je to zadarmo a kvalitne). K tomu ze analyza nie je potrebna alebo je to nieco navyse tak to je opacne, analyza pomoze programatorovi porozumiet ako algoritmus funguje  a na ake problemy sa aplikuje (popripade ake su jeho limity/vyhody/nevyhody).

To teda nevim, u video kurzu nejsem schopen udrzet pozornost kvuli prilis nizke informacni hustote. Moc tyhlety coursery apod nechapu. Tez knizce muzu rychloctenim preskakat to, co me momentalne nezajima nebo uz znam, ve videu se orientuje podstane hur.