I andre runde kan deltakerne velge å skrive programmene sine i C, C++, Python eller Java. Under er de elementene du bør beherske i språket du velger eksemplifisert ved C++. For de av dere som ikke har kjennskap til noen av språkene anbefaler vi C++.
Programmering med C++
Du bør kunne det som gjennomgåes på http://www.cplusplus.com/doc/tutorial/ i alle kapitlene til og med Arrays. I første kapittel må du sette opp et utviklingsmiljø med en editor og en kompilator. På komme i gang med C++ finner du instruksjoner for hvordan du gjør dette i forskjellige operativssystemer.
C++ STL (Standard Template Library) er en stor fordel å kjenne til. Les http://community.topcoder.com/tc?module=Static&d1=features&d2=082803 som gir en god introduksjon til de viktigste datastrukturene i C++ Standard Template Library. Så gjenstår det å lese litt om C++ strings. Denne siden gir en god oversikt: http://www.cprogramming.com/tutorial/string.html
Datastrukturer
- Queue
- Stack
- Set
- Map
- Trær (representasjon og basisegenskaper)
- Grafer (representasjon av rettet og urettet graf, og basisegenskaper)
Algoritmer
- Sortering (trenger ikke kunne implementere selv, men må kunne bruke biblioteker for dette)
- Binærsøk
- Søk i graf (bredde først, dybde først)
Dette betyr ikke at man kan løse alt med disse algoritmene og datastrukturene, men at man ved å forstå og kunne modifisere disse vil ha god sjanse til å finne på og implementere nye algoritmer som vil løse oppgavene i andre runde.
Pingback: Resultater fra 1. runde 2013 / 2014 | Norsk informatikkolympiade
Pingback: Resultater fra 1. runde i NIO 2014 / 2015 | Norsk informatikkolympiade