Cursus EVMINX4: Algoritmen en Datastructuren (ALDAT)
© Harry Broeders.
Deze pagina is bestemd voor studenten van de Haagse Hogeschool - TH
Rijswijk/Academie voor Engineering groep ECV. Op deze pagina vind je het
bij de cursus ALDAT gebruikte studiemateriaal.
Beschikbaar materiaal:
-
Studiewijzer (inclusief gedetailleerde
planning).
-
Dictaat ALDAT
Druk dit dictaat dubbelzijdig af
en bind het in!
-
Handout1_ALDAT.pdf
Deze handout wordt tijdens dagdeel 6 uitgedeeld.
-
Sheets per dagdeel.
-
Inleiding (overzicht ALDAT), overzicht
datastructuren.
-
Toepassingen en implementaties van een stack.
-
Standard Template Library: overzicht,
sequentiële containers, container adapters en associatieve containers.
-
Standard Template Library: iteratoren, algoritmen
en functie objecten.
-
Toepassingen van dynamische datastructuren:
game- tree, min-max algoritme en alfa-beta pruning.
-
Toepassing: galgje. De boost::lambda library.
-
Introductie in het gebruik van Microsoft Visual
C++ 2008 Express Edition (gratis thuis te gebruiken).
-
Voorbeeldprogramma's uit mijn dictaat

:
-
Balance.cpp (pagina 9) met de benodigde header
files: stacklist.h en
stack.h.
Dit programma controleert of de haakjes in de invoer netjes gebalanceerd
zijn. Dit is een eenvoudige toepassing van de stack datastructuur.
-
Postfix.cpp (pagina 11) met de benodigde
header files: stacklist.h en
stack.h.
Deze postfix (RPN) calculator maakt gebruik van een stack.
-
stackarray.cpp (pagina 14) met de benodigde
header files: stackarray.h en
stack.h.
Dit programma test de stack die geïmplementeerd is met behulp van een
array (in de include file stackarray.h).
-
stacklist.cpp (pagina 16) met de benodigde
header files:
stacklist.h
en stack.h.
Dit programma test de stack die geïmplementeerd is met behulp van een
gelinkte lijst (in de include file stacklist.h).
-
stack.cpp (pagina 16) met de benodigde header
files:
stackarray.h, stacklist.h en
stack.h.
Dit programma laat zien hoe je dynamisch (tijdens run-time) kunt kiezen
voor een bepaalde implementatie van de stack. Dit is mogelijk door het gebruik
van een Abstract Base Class en is een voorbeeld van het gebruik van polymorfisme.
-
stdvector.cpp (pagina 18),
stdbalanced.cpp (pagina 19),
set.cpp (pagina 20),
multiset.cpp (pagina 20) en
stdcntwords.cpp (pagina 21).
Deze programma's laten zien hoe je de standaard datastructuren:
vector, stack, set, multiset en map gebruikt.
-
streamitr.cpp (pagina 22).
Dit programma maakt gebruik van stream iteratoren.
-
find.cpp (pagina 22),
find_if.cpp (pagina 23),
for_each.cpp (pagina 24),
transform.cpp (pagina 25) en
remove.cpp (pagina 25).
Deze programma's laten zien hoe je de standaard algoritmen: find,
find_if, for_each, transform en remove gebruikt.
-
mem_func.cpp (pagina 26)
De standaard functie mem_fun die de koppeling vormt tussen generiek
programmeren en object georienteerd programmeren wordt in dit programma
gedemonstreerd.
-
galgje0.cpp,
galgje1.cpp,
galgje2.cpp,
galgje3.cpp en
galgje4.cpp.
Vijf verschillende manieren om galgje te spelen.
-
Nog meer voorbeeldprogramma's
:
-
generiekPrint3.cpp Een functie waarmee
de inhoud van een generieke container geprint kan worden. Deze functie
maakt gebruik van indexering en is daardoor niet erg generiek (alleen
te gebruiken met vector en deque).
-
generiekPrint2.cpp Een functie waarmee
de inhoud van een generieke container geprint kan worden. Deze functie
maakt gebruik van een iterator en is daardoor wel generiek.
-
generiekPrint1.cpp Een functie waarmee
de inhoud van een generieke container geprint kan worden. Deze functie
maakt gebruik van twee iterator en is daardoor wel generiek.
Deze versie is veel eenvoudiger dan generiekPrint2.cpp.
-
Informatie voor dagdeel 5 over Boter, Kaas en Eieren.
-
Informatie voor dagdeel 6: Het gebruik van functor's
wordt sterk vereenvoudigd door het gebruik van de boost::lambda library.
-
Het gebruik van de C++ Boost library met
Microsoft Visual C++ 2008.
-
Practicumopdrachten:
-
Hoe nu verder? Meer leren over C++.
-
Andere interessante sites betreffende ALDAT.