pitanja sa ispita Flashcards
Koji je povratni tip funkcije func(vector<string>{"stagod"})</string>
koristi mozak
Koja je slozenost dodavanja elementa na kraj liste
Dodavanje elemenata na kraj liste je O(n) gde n predstavlja duzinu liste, Pogledajmo primer spajanja 2 liste, kako su liste imutabilni objekti potrebno je prvu listu kopirati i na nju nadovezati drugu listu. Sto znaci da je pravljenje(kombinovanje lista) zapravo O(n) i u vremenu i u prostoru jer svaki put pravimo novu listu.
Kopirajuci DC
Ideja je da se spreci stopiranje sveta,jer prilikom svakom mark-sweep algoritma potrebno je stopirati svet kako bi ocuvali integritet podataka, Ideja je da imamo fromSpace i toSpace koji se smenjuju a problem je sto onda imamo duplo manju memoriju, takodje problem je kopiranje velikih objekata ali prednosti su mala fregmentacija, brza alokacija, lokalnost
Dve osnovne operacije u Lensu
getter and modify,
lensGetter :: s -> a
lensModify :: (a –>a) –> s –>s
gde s predstavlja container i a predstavlja focus
Lens algebarski tipovi
Lens algebarski tipovi su tipovi koji nam pomazu u obilazenju nested data structure. Ideja je da jednostavnim kodom mozemo da pristupama podacima iz nekih dalekih struktura. imamo 2 osnovne metode to su Getter i Modify
Pomocu funktora mozemo napraviti genericku klasu:
type Lens s a = forall f. Functor f => (a -> f a) -> (s -> f s)
I pomocu nje moguce je jednostavna kompozicija
Sta je i cemu sluzi stack
Funktori
BVT
Prostorna i mem slozenost za liste
generacijski GC
Parcijalna aplikacija funkcije u c++ i haskellu
Sta su algebarski tipovi
Opisati kopirajuci GC
Sta je metagraf?
Opisati funktore i njihova pravila