Dobre, dobre struktury danych
Miscellanea / / December 05, 2023
Ten kurs - kolejny ważny krok w Twoim rozwoju jako kompetentnego specjalisty IT w dziedzinie programowania. Kiedy już poznasz podstawowe możliwości języka, jego komponentu obiektowego, następnym logicznym krokiem będzie badanie typowych, często używanych struktur danych, znajomość ich mocnych i słabych stron w celu efektywnego wykorzystania w nich projektowanie.
Każdy mniej lub bardziej niezawodny program wykorzystuje co najmniej jedną prostą strukturę danych, na przykład tablice. W bardziej złożonych projektach zawsze pojawiają się bardziej złożone projekty, takie jak listy połączone, tablice mieszające, zestawy, tablice asocjacyjne i tak dalej. Musisz to wszystko wiedzieć, aby Twoje programy działały jak najszybciej, a jednocześnie oszczędnie wykorzystywały pamięć urządzenia. Co więcej, prawie zawsze podczas rozmów kwalifikacyjnych na stanowisko programisty zostaje o to zapytany pytania o struktury danych i metody oceny złożoności algorytmów, zwykle z perspektywy „wielkiego O”. (Duże O). Wszystkie te ważne tematy są zawarte w tym kursie. Ukończenie go pozwoli Ci nie tylko pewniej pisać algorytmy, ale także odnieść większy sukces na rozmowach kwalifikacyjnych w celu przyszłej pracy.
Nauka szacowania złożoności obliczeniowej algorytmów
1. Wprowadzenie do Wielkiego O
2. Duże O ze złożonością logarytmiczną i silniową
Najprostsze struktury danych
1. Tablica statyczna
2. Tablica statyczna w C++
3. Tablica dynamiczna
4. Tablica dynamiczna w Pythonie
5. Tablica dynamiczna w C++
Połączone listy
1. Pojedynczo połączona lista
2. Pojedynczo połączona lista w C++
3. Podwójnie połączona lista
4. Podwójnie połączona lista w C++ od podstaw
5. Klasa listy podwójnie połączonej listy biblioteki C++ STL
Kolejki i stos
1. Kolejki FIFO i LIFO
2. kolejkacollections.deque w Pythonie
3. Klasa deque kolejki biblioteki C++ STL
4. Stos
5. Implementacja stosu w Pythonie i C++
Drzewa i zestawy
1. Drzewa binarne
2. Metody przechodzenia i usuwania wierzchołków drzewa binarnego
3. Drzewo binarne w Pythonie
4. Zestawy. Ustaw operacje
5. Zbiory i multizbiory w C++
6. Kontener mapy biblioteki STL w C++
7. Drzewo prefiksów (załadowane, wypróbowane). Tablice asocjacyjne
Tabele mieszające
1. Tabele mieszające
2. Uniwersalne haszowanie
3. Otwarta metoda adresowania. Podwójne hashowanie
4. Tabele mieszające w Pythonie i C++