<-- Studium  

Im Zuge der AlgoDat-Vorlesung waren 6 Uebungsaufgaben unterschiedlichen Schwierigkeidsgrads zu loesen (von "C-Buch Seite 2" bis zu "Ich verstehe nach mehreren Stunden nicht mal die Aufgabenstellung"). Hier also meine, teilweise sogar gelobten, Loesungen dazu:

EU Personalausweis
Dateien
Verkettete Listen
Baeume
Sortieren
Hashing





EU Personalausweis:

Aufgabenstellung
Loesung
Anmerkungen:


Dateien:

Aufgabenstellung
In dieser Aufgabe sollten ASCII- und Binaerdateien jeweils in JAVA und C eingelesen und geschrieben werden.
Loesungen: C JAVA


Verkettete Listen:

Aufgabenstellung
Hier wurde eine doppelt verkettete Liste implementiert, inklusive lustiger Zusatzfunktionen wie Zyklisch/Azyklisch Umschaltung. Zur Abwechslung mal in C++, malloc() war mir dann doch zu doof ;-)
Loesungen: Hauptprogramm Listenelement-Klasse Header zur Klasse
 
Diagramme zu den einzelnen Operationen:
Neues Listenelement zwischen anderen Listenelementen einfuegen
Element zwischen anderen Elementen loeschen
Element am Anfang der zyklischen Liste einfuegen
Element am Ende der zyklischen Liste einfuegen


Baeume:

Aufgabenstellung


Sortieren:

Aufgabenstellung
Implementiert die folgenden Sortieralgorithmen und vergleicht deren Laufzeit: Mal wieder in plain C, hat uebrigens den Java-Kram vom Knuspermagier teilweise um ueber 50% abgehaengt: sortAlgos.c sortAlgos.h sortComp.c
Heraus kommt dann sowas:
No. of keys     ascending       random          descending
25000           [ms]            [ms]            [ms]
-----------------------------------------------------------
Insertion-Sort  1               2674            5352
Selection-Sort  3124            3160            3512
Bubble-Sort     3385            6141            7437
Bubble-Sort (M) 0               9753            11046

No. of keys     ascending       random          descending
25000           [ms]            [ms]            [ms]
-----------------------------------------------------------
Shell-Sort      6               21              10
Heap-Sort       14              15              13
Quick-Sort      4               6               3
Merge-Sort      13              13              11
Ja, Quick-Sort ist echt quick :-)


Hashing:

Aufgabenstellung (Achtung: Hoher WTF-Faktor!)
Fuer die Korrektheit und den Sinn der hier produzierten Hashes kann ich leider keine Verantwortung uebernehmen. Jedenfalls entsprach das Ergebnis am Ende wohl dem gewuenschten und wurde abgenommen: Hashing-Pack
 
Graphische Aufbereitung der Untersuchung:
So soll das aussehen