Programmierübungen
Algorithmen und Datenstrukturen

Sortieren

  1. C++ mit wxWidgets-GUI: Verschiedene Sortierverfahren.
    Programm zum Vervollständigen: gra-sort-angabe.cpp
    Musterlösung: gra-sort.cpp.
    (siehe Programmierübungen C für GUI-lose Sortier-Übungen!)

Listen

  1. C++: Stack als Liste.
    Musterlösung: list-stack.cpp.
  2. C: Sortierte, einfach verkettete Liste.
    Musterlösung: liste.c.
  3. C++, letzte Teilaufgabe mit Templates:
    Einfügen & Löschen in sortierter Liste (einfach & doppelt verkettet).
    Musterlösungen:
    Grundlösung: sorted-list.cpp,
    Implementierung mit **: sorted-list-dblptr.cpp,
    Doppelt verkettete Liste: sorted-dbl-list.cpp,
    Implementierung als Template-Klasse: sorted-list-templ.cpp.
  4. C++: Radix-Sort mit Listen.
    Musterlösung: radixsort.cpp.
  5. C: Radix-Sort mit Listen.
    Musterlösung: radix.c.
  6. C: Arrays von Listen & Listen von Arrays.
    Schau dir folgenden Code pagerev.c zu folgender Angabe an.
    Versuche dann, Code in derselben Art für diese Angabe zu entwickeln.
    Musterlösung: lensort.c.

Bäume & Hashtables

  1. C++, letzte Teilaufgabe mit STL: Wort-Vorkommen zählen.
    Musterlösungen:
    Grundlösung: baum.cpp,
    Mit grafischer Ausgabe & Statistik: baum-stat.cpp,
    Mit getFirst & getNext: baum-first+next.cpp,
    Mit Löschen (konventionell): baum-delete.cpp,
    Mit Löschen (Pointer-auf-Pointer): baum-delete-pp.cpp,
    Mit Löschen (rekursiv): baum-delete-rec.cpp,
    Unter Verwendung von STL map: baum-map.cpp.
  2. C: Hashtable: Wortindex.
    Zu komplettierendes Programm: xref-hash-ang.c.
    Musterlösung: xref-hash.c.
  3. C: Unbalancierter Baum: Wortindex.
    Musterlösung: xref-tree.c.
  4. C, schwierig: Balancierter Baum: Wortindex.
    Musterlösung: xref-tree-bal.c.
  5. C, schwierig: Trie: Wortindex.
    Musterlösung: xref-trie.c.
  6. C: Decodierung von Morse-Zeichen.
    Musterlösung: morse.c.
  7. C++ und/oder C: Unbalancierter Baum mit Löschen und getNext.
    Musterlösung: baum.cpp (in C: baum-c.c).
  8. C: Priority Queue (heap).
    Musterlösung: priqueue.c.

Backtracking

  1. C mit SDL-Grafik: Backtracking: 8-Damen-Problem.
    Musterlösung: queens.c, queens-stepbystep.c.
  2. C: Backtracking: Rucksack packen Meine Gegenstands-Liste: gegenst.txt.
  3. C: Backtracking: Graph färben.
    Musterlösung: colors.c.
  4. C: Backtracking: Travelling Salesman.
    Musterlösung: rundr.c.
  5. C: Backtracking: Buchstabensumme.
    Programm zum Vervollständigen: textsumme-ang.c
    Musterlösung: textsumme.c, textsumme-tricky.c.
  6. C++ mit wxWidgets-GUI: Backtracking: Sudoku
    Übungsaufgabe ist nur der Lösungs-Code:
    Gesucht ist der .cpp-File mit der Implementierung der folgenden Klasse: Solver.h
    Zur Ein- und Ausgabe soll der Lösungs-Code Methoden der folgenden GUI-Klasse aufrufen: Sudoku.h
    Die Implementierung dieser Klasse kommt von mir, sie ist nicht Übungsaufgabe: sudoku.cpp, sudoku-main.cpp
    Musterlösung: solver.cpp.

Graphen

  1. C mit SDL-Grafik: Graphen: Kruskal's Algorithmus.
    Musterlösung: kruskal.c, prim.c.
  2. C: Graphen: Breadth-First-Durchlauf (zählen, verketten, Tiefe eintragen).
    Hauptprogramm zum Weiterschreiben: bfs-main.c
    Test-Graph mit 9 Knoten: bfs-data
    Erwartete Ausgabe bei ./bfs 9 0 < bfs-data : bfs-out
    Musterlösung: bfs.c.
  3. C: Graphen: Depth-First-Durchlauf (durchnummerieren, Anzahl In-Edges eintragen).
    Hauptprogramm zum Weiterschreiben: dfs-main.c
    Test-Graph mit 9 Knoten: bfs-data
    Erwartete Ausgabe bei ./dfs 9 0 < bfs-data : dfs-out
    Musterlösung: dfs.c.
  4. C mit SDL-Grafik: Graphen: Topologisches Sortieren.
    Programm zum Vervollständigen: topsort-angabe.c
    Musterlösung: topsort.c, topsort-tail.c.
 
Stoff Algorithmen & Datenstrukturen
Home