Dobre, dobre podatkovne strukture
Miscellanea / / December 05, 2023
Ta tečaj - še en pomemben korak v vašem razvoju kot kompetenten informatik na področju programiranja. Ko se naučite osnovnih zmožnosti jezika, njegove objektno usmerjene komponente, je naslednji logični korak preučevanje tipičnih, pogosto uporabljenih podatkovnih struktur, poznavanje njihovih prednosti in slabosti za učinkovito uporabo v njih projekti.
Vsak bolj ali manj zanesljiv program uporablja vsaj eno preprosto podatkovno strukturo, na primer nize. In v bolj zapletenih projektih so vedno bolj zapleteni, kot so povezani seznami, zgoščene tabele, nizi, asociativni nizi itd. Vse to morate vedeti, da bodo vaši programi delovali čim hitreje in hkrati varčno uporabljali pomnilnik naprave. Še več, skoraj vedno jih vprašajo med razgovori za službo za delovno mesto programerja vprašanja o podatkovnih strukturah in metodah za ocenjevanje kompleksnosti algoritmov, običajno z vidika "velikega O" (Velika O). Vse te pomembne teme so vključene v ta tečaj. Če ga izpolnite, vam bo omogočilo ne le samozavestnejše pisanje algoritmov, temveč tudi večjo uspešnost na razgovorih za prihodnjo zaposlitev.
Naučiti se oceniti računsko zahtevnost algoritmov
1. Uvod v Big O
2. Velika O z logaritemsko in faktorsko kompleksnostjo
Najenostavnejše podatkovne strukture
1. Statični niz
2. Statična matrika v C++
3. Dinamični niz
4. Dinamično polje v Pythonu
5. Dinamično polje v C++
Povezani seznami
1. Posamezno povezan seznam
2. Posamezno povezan seznam v C++
3. Dvojno vezan seznam
4. Dvojno povezan seznam v C++ iz nič
5. Razred seznama dvojno povezanega seznama knjižnice C++ STL
Čakalne vrste in sklad
1. Čakalne vrste FIFO in LIFO
2. collections.deque čakalna vrsta v Pythonu
3. Razred deque v čakalni vrsti knjižnice C++ STL
4. Stack
5. Implementacija sklada v Pythonu in C++
Drevesa in kompleti
1. Binarna drevesa
2. Metode za prečkanje in odstranjevanje vozlišč binarnega drevesa
3. Binarno drevo v Pythonu
4. Kompleti. Set Operations
5. Množice in multimnožice v C++
6. Vsebnik preslikave knjižnice STL v C++
7. Predpona (naloženo, Trie) drevo. Asociativni nizi
Zgoščene tabele
1. Zgoščene tabele
2. Univerzalno zgoščevanje
3. Odprta metoda naslavljanja. Dvojno zgoščevanje
4. Zgoščevalne tabele v Pythonu in C++