U ovom članku, izdvojićemo i objasniti neke od interesantnijih, čudnijih, neefikasnijih ali definitivno domišljatih algoritama sortiranja. Pancake sort Ovaj algoritam se bazira na operaciji prevrtanja (flip) prvih i elemenata kolekcije. Zamislite palačinke različitih veličina naslagane jedna na drugu. Cilj nam je da sortiramo palačinke po veličini. Nađemo najveću, podignemo naslagane palačinke iznad najveće (uključujući i […]
Pročitaj ostatakBojana Dragaš
24 May 2024
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 ostatakBojana Dragaš
22 May 2024
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 ostatakBojana Dragaš
17 May 2024
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 ostatakBojana Dragaš
02 May 2024
U jednom od prethodnih postova, načeli smo temu algoritama i njihove složenosti. Trudićemo se da pristupimo temi sa što manje „matematičkih” detalja, ali neće uvek biti moguće. Veoma nam je važno da znamo koliko brzo će se naš program odnosno algoritam izvršavati. Jedan od faktora koji utiče na to je hardver na kom se program/algoritam […]
Pročitaj ostatakBojana Dragaš
17 Apr 2024
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 ostatakBojana Dragaš
27 Mar 2024
Tokom CrowdStrike katastrofe proteklog vikenda, zastarela verzija Windows operativnog sistema sprečila je još veću štetu. Prošlog petka došlo je do globalnog pada IT sistema koji je oborio milione računara širom sveta. Bio je to toliko katastrofalan događaj da je dobio etiketu najvećeg IT kolapsa svih vremena. Zbog pogrešne nadogradnje koju je pružio CrowdStrike, brojni Windows […]
Pročitaj ostatakGoran Aničić
26 Jul 2024
Uvećanje količine podataka postaje sve brže, posebno s obzirom na nagli porast rada i učenja od kuće u protekloj godini. Ova eksplozija podataka često rezultira akumulacijom “otpadnih” podataka (enlg. junk data). Ovi nepotrebni ili čak štetni podaci nastaju kada se podaci kopiraju i menjaju za određene potrebe, ali se te promene ne integrišu nazad u […]
Pročitaj ostatakProf. dr Branko Milosavljević
25 Jul 2024
TypeScript postaje sve popularniji jezik za mnoge web aplikacije. Omogućava programerima upoznatim sa JavaScript-om da programiraju prema principima i praksama intrinsicnim za paradigmu objektno-orijentisanog programiranja. TypeScript je jezik sa jakim tipovima koji podržava sve karakteristike koje se obično nalaze u jezicima za objektno-orijentisano programiranje, poput Java-e i C#. Na primer, JavaScript nema podršku za interfejs, […]
Pročitaj ostatakDr Sebastijan Kaplar
24 Jul 2024