Dobre, dobre strukture podataka
Miscelanea / / December 05, 2023
Ovaj tečaj - još jedan važan korak u vašem razvoju kao kompetentnog informatičara u području programiranja. Nakon što ste naučili osnovne mogućnosti jezika, njegovu objektno orijentiranu komponentu, sljedeći logičan korak je proučavanje tipičnih, često korištenih struktura podataka, poznavanje njihovih prednosti i slabosti za učinkovitu upotrebu u njihovim projekti.
Svaki više ili manje pouzdan program koristi barem jednu jednostavnu strukturu podataka, na primjer, nizove. A u složenijim projektima uvijek postoje složeniji kao što su povezani popisi, hash tablice, skupovi, asocijativni nizovi i tako dalje. Sve ovo morate znati kako bi vaši programi ispali što je brže moguće, a istovremeno štedljivo koristili memoriju uređaja. Štoviše, gotovo uvijek na razgovorima za posao za poziciju programera traže ih pitanja o strukturama podataka i metodama za procjenu složenosti algoritama, obično iz perspektive "velikog O" (Veliko O). Sve te važne teme uključene su u ovaj tečaj. Njegovo ispunjavanje omogućit će vam ne samo da sigurnije pišete algoritme, već i da budete uspješniji na razgovorima za buduće zaposlenje.
Naučiti procijeniti računsku složenost algoritama
1. Uvod u Big O
2. Veliko O s logaritamskom i faktorijelnom složenošću
Najjednostavnije strukture podataka
1. Statički niz
2. Statički niz u C++
3. Dinamički niz
4. Dinamički niz u Pythonu
5. Dinamički niz u C++
Povezane liste
1. Pojedinačno povezana lista
2. Jednostruko povezana lista u C++
3. Dvostruko povezana lista
4. Dvostruko povezana lista u C++ ispočetka
5. Klasa popisa dvostruko povezanog popisa C++ STL biblioteke
Redovi i hrpa
1. FIFO i LIFO redovi
2. zbirke.deque red u Pythonu
3. Queue deque klasa C++ STL biblioteke
4. Stog
5. Implementacija stoga u Pythonu i C++
Drveće i setovi
1. Binarna stabla
2. Metode obilaska i uklanjanja vrhova binarnog stabla
3. Binarno stablo u Pythonu
4. Setovi. Postavite operacije
5. Skupovi i multiskupovi u C++
6. Spremnik karte STL knjižnice u C++
7. Stablo prefiksa (učitano, Trie). Asocijativni nizovi
Hash tablice
1. Hash tablice
2. Univerzalno raspršivanje
3. Otvorena metoda adresiranja. Dvostruko raspršivanje
4. Hash tablice u Pythonu i C++