Prvo nauci osnovne elemente jezika. Savladaj tipove podataka, i rijeci za kontrolu toka programa, kao i neke osnovne funkcije printf, scanf itd. Zatim nauci rad sa pokazivacima (bez njih nista xD), pa funkcije. Nauci da koristis druge biblioteke i funkcije koje one sadrze: string.h, stdio.h, stdlib.h, math.h i druge.
Zatim rad sa nizovima, stringovima i matricama. Rad sa fajlovima.
Ovdje mozes da biras, da predjes da pises C-ovski u C++. (preporucujem, a vremenom ces i sam da shvatis zasto) Ako uzmes da radis C-eovski u C++, kasnije nauci jos neke dodatne mogucnosti koje C++ nudi (rijeci new, delete, class, ).
Nauci sta je Algoritam.
Rekurzija, Backtracking. Problemi: Naci faktorijel, fibonacijeva sekvenca, pronalazak puta kroz lavirint.
Sortiranje: Najobicnije sa dvije petlje, bubble sort, quick sort, merge sort.
Algoritmi trazenja - Obrati paznju na BinarySearch.
E onda predji na strukture podataka (ako si odabrao C++ - izucavaj STL biblioteke).
Strukture podataka: Vektor, Stek, Lista, Drvo, Binarno Drvo, Graf i osnovne algoritme koji idu uz njih. (za pocetak ). Nauci da vodis racuna o memoriji i optimizaciji.
Dinamicko programiranje. (Najteze - ni ja ga bas nisam najbolje ukapirao xD)
Stek i Lista su ti dvije najbolje strukture da najbolje ukapiras rad sa pokazivacima, bar su mene dosta pomogle.
Sajtovi sa problemima iz raznih oblasti algoritama i struktura podataka:
Na engleskom:
codechef.com/
train.usaco.org/usacogate
Na engleskom i srpskom:
z-trening.com/
Uglavnom, kad krenes da radis sa strukturama podataka i algoritmima tu ces da unaprijedis svoje znanje C/C++ jezika, ali ne samo to vec i nacin razmisljanja i razvijanja ideje. Kad sve ovo savladas dobro, posle koji god jezik da uzmes da ucis, sve ce biti lako, jer si naucio koncept kako program radi, samo ti jos ostaje da naucis sintaksu.
Sto se tice Jave - Objektno Orijentisani Programski jezik (kao C++) dok je C proceduralni (ja mislim da se tako kaze xD). Kad budes sve ono gore savladao Javu ces nauciti za 2 nedelje ako ne i manje, i sve ces te algoritme moci da iskucas u Javi.
Bar sam ja tako ucio xD
ps. Jezik sam savladao za mjesec dana, da znam sta koja rijec radi (bar od onih osnovnih, ima jos par koje ne znam, ali mi jos uvijek nisu potrebne). Uz ovo ubrajam nizove i matrice (zbog kojih sam milion puta bio glavom od zid xD ). A zatim sam poceo da radim rekurziju, backtracking (sto sam savladao kroz tonu zadataka xD) i naucio sto je dinamicko programiranje ali jos uvijek ne znam da ga primjenim kako treba.
A strukture podataka i algoritme ucim skoro godinu i po, ako ne i vise i jos uvijek ima dosta da se uci. Tako da ako ti nesto ne ide odmah, imaj strpljenja - programiranje se ucim godinama sa kojima dolazi i iskustvo
ps2. Ako te nesto posebno zanima, pitaj slobodno
|