Teme za studente računarskih nauka
Učenje i poboljšavanje algoritama kroz takmičenja
Ovaj izuzetan udžbenik predstavlja sveobuhvatan uvod u savremeno takmičarsko programiranje. U ovoj knjizi videćete da su takmičenja programera dokazano uspešan način za učenje algoritama, zato što ohrabruju konstrukciju algoritama koji zaista funkcionišu, stimulišu programerske veštine, kao i veštine u otklanjanju problema, i podstiču način razmišljanja neophodan za rešavanje problema u kompetitivnom okruženju. U knjizi su opisani mnogi trikovi iskusnih takmičara u konstrukciji algoritama koji su uveliko „deo folklora“, ali je o njima do sada formalno bilo reči samo na onlajn forumima i blogovima.
Najvažnije teme kojima ćemo se baviti u ovoj knjizi:
• Navešćemo karakteristike programskog jezika C++ i objasniti način konstruisanja efikasnih algoritama koji brzo obrađuju obimne skupove podataka.
• Razmotrićemo algoritme sortiranja i binarne pretrage i istražiti odabrane strukture podataka standardne C++ biblioteke.
• Predstavićemo vam tehniku konstrukcije algoritama u dinamičkom programiranju i istražiti osnovne grafovske algoritme.
• Govorićemo o naprednim aspektima konstrukcije algoritama, kao što su bit-paralelni algoritmi i amortizovana analiza i fokusirati se na efikasnu obradu upita nad opsezima nizova.
• Istražićemo algoritme specijalizovane za rad sa stablima i razmotriti matematičke teme relevantne za takmičarsko programiranje.
• Ispitaćemo napredne grafovske tehnike, geometrijske algoritme i tehnike rada sa niskama.
• Opisaćemo odabrane napredne teme, kao što su algoritmi kvadratnog korena, i optimizaciju rešenja dinamičkog programiranja.
Ovaj udžbenik je lak za praćenje i predstavlja idealan izvor znanja za sve koji žele da nauče algoritme i vežbaju za programerska takmičenja. Poznavanje osnova programiranja je preduslov, dok prethodno iskustvo u konstrukciji algoritama ili programerskim takmičenjima nisu neophodni. Zahvaljujući širokom spektru obrađenih tema različite težine, ovu knjigu mogu da koriste i početnici, ali i iskusniji čitaoci.
Dr Anti Laksonen je radio kao predavač i istraživač na Helsinškom i Alto Univezitetu u Finskoj. Jedan je od organizatora Finske informatičke olimpijade još od 2008. godine, dok je na Baltičkoj informatičkoj olimpijadi 2016. godine bio Naučni predsednik. Spremao je i vodio finski tim na nekoliko međunarodnih programerskih takmičenja, uključujući i Međunarodnu informatičku olimpijadu u periodu od 2009‒2016. godine i stekao bogato iskustvo u prenošenju znanja iz oblasti programiranja i konstrukcije algoritama.