Gute, gute Datenstrukturen
Verschiedenes / / December 05, 2023
Dieser Kurs - ein weiterer wichtiger Schritt in Ihrer Entwicklung zum kompetenten Fachinformatiker im Bereich Programmierung. Sobald Sie die grundlegenden Fähigkeiten der Sprache, ihre objektorientierte Komponente, erlernt haben, ist der nächste logische Schritt Untersuchung typischer, häufig verwendeter Datenstrukturen, Kenntnis ihrer Stärken und Schwächen für den effektiven Einsatz in ihren Projekte.
Jedes mehr oder weniger zuverlässige Programm verwendet mindestens eine einfache Datenstruktur, beispielsweise Arrays. Und in komplexeren Projekten gibt es immer komplexere Projekte wie verknüpfte Listen, Hash-Tabellen, Mengen, assoziative Arrays usw. Das alles müssen Sie wissen, damit Ihre Programme möglichst schnell laufen und gleichzeitig den Gerätespeicher sparsam beanspruchen. Darüber hinaus werden sie bei Vorstellungsgesprächen für die Stelle eines Programmierers fast immer gefragt Fragen zu Datenstrukturen und Methoden zur Bewertung der Komplexität von Algorithmen, meist aus der „Big O“-Perspektive (Großes O). Alle diese wichtigen Themen sind in diesem Kurs enthalten. Wenn Sie es absolvieren, können Sie nicht nur sicherer Algorithmen schreiben, sondern auch in Vorstellungsgesprächen für eine zukünftige Anstellung erfolgreicher sein.
Lernen, die Rechenkomplexität von Algorithmen abzuschätzen
1. Einführung in Big O
2. Big O mit logarithmischer und faktorieller Komplexität
Die einfachsten Datenstrukturen
1. Statisches Array
2. Statisches Array in C++
3. Dynamisches Array
4. Dynamisches Array in Python
5. Dynamisches Array in C++
Verknüpfte Listen
1. Einfach verknüpfte Liste
2. Einfach verknüpfte Liste in C++
3. Doppelt verknüpfte Liste
4. Doppelt verknüpfte Liste in C++ von Grund auf
5. Listenklasse einer doppelt verknüpften Liste der C++-STL-Bibliothek
Warteschlangen und Stapel
1. FIFO- und LIFO-Warteschlangen
2. collections.deque-Warteschlange in Python
3. Queue-Deque-Klasse der C++-STL-Bibliothek
4. Stapel
5. Implementierung eines Stacks in Python und C++
Bäume und Sets
1. Binäre Bäume
2. Methoden zum Durchqueren und Entfernen von Eckpunkten eines Binärbaums
3. Binärbaum in Python
4. Sets. Operationen festlegen
5. Mengen und Multimengen in C++
6. STL-Bibliothekskartencontainer in C++
7. Präfixbaum (geladen, Trie). Assoziative Arrays
Hash-Tabellen
1. Hash-Tabellen
2. Universelles Hashing
3. Offene Adressierungsmethode. Doppeltes Hashing
4. Hash-Tabellen in Python und C++