timsort / Elementi (na koje pokazuje plava strelica) se uspoređuju, a manji element se pomiče na svoju konačnu poziciju (na koju pokazuje crvena strelica).
Osnove programiranja

Timsort

Sigurno ste se pitali koji algoritam sortiranja se izvršava kada se pokrene ugrađena sort funkcija? Odgovor nije jednstven za sve implementacije ali jedan od najzastupljenijih je definitivno timsort. Timsort je hibridni, stabilni algoritam, izveden od merge sort i insertion sort algoritama. Razvio ga je Tim Peters 2002. godine za potrebe programskog jezika Python. Danas je […]

Pročitaj ostatak
algoritmi
Osnove programiranja

Algoritmi sortiranja

Algoritmi sortiranja prestavljaju algoritme čiji je cilj da postave elemente kolekcije u ispravan redosled. Najčešće se redosled utvrđuje operatorom poređenja koji se definiše za elemente. Kod brojnih vrednosti to može biti operator < ili >, tekstualne tipove možemo sortirati leksikografski (u abedecnom redosledu) ili po dužini podatka… Sortiranje se primenjuje kako bi podaci bili pregledniji, […]

Pročitaj ostatak
strukture podataka
Osnove programiranja

Razlozi za učenje struktura podataka i algoritama

Razumevanje struktura podataka i algoritama (Engl. Data structures and algorithms, DSA) je ključno za bilo kog studenta ili profesionalca iz oblasti računarstva. Evo glavnih razloga za učenje algoritama i struktura podataka: Efikasnost u rešavanju problema Učenjem različitih struktura podataka možete skladištiti i organizovati podatke na način koji olakšava operacije poput pretrage, dodavanja, brisanja i prolaska. […]

Pročitaj ostatak
big O notacija
Osnove programiranja

Algoritmi za početnike: Veliko O notacija

U ovom postu nastavljamo priču o čuvenoj Big O (veliko O) notaciji. Ukoliko niste pročitali prethodni post sa naslovom “Algoritmi za početnike: Procena vremenske kompleksnosti“ započnite čitanje odatle. Ako na Google pretraživaču unesete „Veliko O notacija” prvi pogodak je članak sa Wikipedije https://sr.wikipedia.org/sr-ec/Велико_О. Bez upozorenja „samo za najhrabrije“ i „ulazite na sopstvenu odgovornost“ programer početnik […]

Pročitaj ostatak
algoritam
Osnove programiranja

Algoritmi za početnike: Uvod

Ukoliko se spremate za intervjue za pozicije developera, sigurno ste čuli da u pojedinim kompanijama zapitkuju o algoritmima, njihovoj vremenskoj i prostornoj složenosti, a da ne pominjem (big) O notaciju. Sve to zvuči strašno početnicima, kažu da ima i neke matematike. Za početak, hajde da sažmemo osnove algoritama. Na pomisao o algoritmima, mnogi će se […]

Pročitaj ostatak
algoritam
Osnove programiranja

Uvod u osnove algoritama: Kako razmišljati kao programer

Često kruži netačno verovanje da je za postizanje uspeha u programiranju potreban ogroman prirodni talenat ili urođeni način razmišljanja koji se ne može promeniti ili steći tokom vremena. Međutim, retko ko se rađa sa impozantnim “programerskim” načinom ražmišljanja ili osećajem za kodiranje. Baš kao što niko nije rođen sa sposobnošću vožnje bicikla, već je uložio […]

Pročitaj ostatak