Strukture podataka i algoritmi
Beleske

  1. Do kraja ovih predavanja, trebalo bi da razumete da je hackovanje daleko od mudrog: postoje mnogo efektnije strategije za ubrzavanje programa!

  2. Boehm, Software Engineering Economics (Ekonomija softverskog inzinjerstva)

  3. Software Engineering Notes (Beleske softverskog inzinjerstva)

  4. Ada LRM

  5. B Meyer, Eiffel

  6. Neki kompajleri, npr. Metrowerks Macintosh C kompajler, imaju opciju
    Require function prototypes
    koja moze da se ukljuci. Ako je ukljucena, tada ce kompajler prijavljivati gresku ako specifikacija nije ucitana - jer se prototipi funkcija (formalna specifikacija metoda nasih objekata) nalaze u specifikaciji. Drugi kompajleri, npr. GNU gcc, ce samo prijaviti upozorenje ako nedostaju prototipi funkcija.

  7. Ili se mogu iskoristiti kao "savet" sistemu - omogucavajuci mu da pre-alocira prostora na neki efikasan nacin, npr. u jednom neprekidnom bloku memorije.

  8. Poznato je da je odrzavanje najskuplji deo bilo kog velikog softverskog projekta, pogledati u bilo kojoj knjizi o softverskom inzinjerstvu.

  9. top je ekvivalentno sa x = pop(s); push(s,x);

  10. U stvari, dodavanje i brisanje sa glave povezane liste je najjednostavnija implementacija i daje upravo LIFO semantiku steka.

  11. Kod vecine operativnih sistema, alokacija i de-alokacija memorije je relativno skupa operacija, pa stoga imamo nedostatak u pogledu brzine na racun fleksibilnosti implementacije povezane liste.

  12. Izgovara se "veliko O od n" - ili samo "O od n".

  13. Videcete da nije mnogo ljudi zadovoljno procenom da 90% vremena, ovaj racunar proracunava [novu poziciju flap-ova krila aviona |najveca brzina kojom mogu da se primene kocnice |...] kako bi sprecio [ pad aviona| sudar sa kolima ispred|...].