Gode, gode datastrukturer
Miscellanea / / December 05, 2023
Dette kursus - endnu et vigtigt skridt i din udvikling som en kompetent IT-specialist inden for programmering. Når du har lært sprogets grundlæggende egenskaber, dets objektorienterede komponent, er det næste logiske trin undersøgelse af typiske, hyppigt anvendte datastrukturer, viden om deres styrker og svagheder til effektiv brug i deres projekter.
Ethvert mere eller mindre pålideligt program bruger mindst én simpel datastruktur, for eksempel arrays. Og i mere komplekse projekter er der altid mere komplekse som sammenkædede lister, hashtabeller, sæt, associative arrays og så videre. Du skal vide alt dette, så dine programmer bliver så hurtigt som muligt og samtidig bruge enhedens hukommelse sparsomt. Desuden bliver de næsten altid under jobsamtaler til stillingen som programmør spurgt spørgsmål om datastrukturer og metoder til at vurdere kompleksiteten af algoritmer, normalt ud fra et "big O"-perspektiv (Big O). Alle disse vigtige emner er inkluderet i dette kursus. At fuldføre det vil give dig mulighed for ikke kun at skrive algoritmer mere selvsikkert, men også at få mere succes i interviews til fremtidig beskæftigelse.
Lære at estimere den beregningsmæssige kompleksitet af algoritmer
1. Introduktion til Big O
2. Big O med logaritmisk og faktoriel kompleksitet
De enkleste datastrukturer
1. Statisk array
2. Statisk array i C++
3. Dynamisk array
4. Dynamisk array i Python
5. Dynamisk array i C++
Sammenkædede lister
1. Enkelt linket liste
2. Enkeltforbundet liste i C++
3. Dobbelt linket liste
4. Dobbelt linket liste i C++ fra bunden
5. Listeklasse for en dobbelt linket liste over C++ STL-biblioteket
Køer og stak
1. FIFO- og LIFO-køer
2. collections.deque-kø i Python
3. Kø-deque-klasse i C++ STL-biblioteket
4. Stak
5. Implementering af en stak i Python og C++
Træer og sæt
1. Binære træer
2. Metoder til at krydse og fjerne hjørner af et binært træ
3. Binært træ i Python
4. Sæt. Indstil operationer
5. Sæt og multisæt i C++
6. STL-bibliotekskortcontainer i C++
7. Præfiks (indlæst, Trie) træ. Associative Arrays
Hash tabeller
1. Hash tabeller
2. Universal Hashing
3. Åben adresseringsmetode. Dobbelt hashing
4. Hash-tabeller i Python og C++