ALP 3: Unterschied zwischen den Versionen

Aus Wiki - FSI Mathe/Info
Keine Bearbeitungszusammenfassung
(hinweis neue studienordnung; a bit of refactoring)
(2 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
=Inhalt=
'''Diese Seite bezieht sich auf das Modul "Datenstrukturen und Datenabstraktion" nach der [http://www.fu-berlin.de/service/zuvdocs/amtsblatt/2007/ab062007.pdf Studien- und Prüfungsordnung vom 8.2.2007].'''
 
==Inhalt==
Ausgangspunkt ist das Geheimnisprinzip und seine Bedeutung für die Strukturierung von Programmen und die Konstruktion von Datenobjekten mittels Modulen und Klassen. Eine zentrale Rolle bei der Modellierung von Daten spielt der Begriff der Datenabstraktion verbunden mit der Unterscheidung zwischen Spezifikation und Implementierung abstrakter Datenobjekte und Datentypen. Folgen, Mengen, Relationen, Bäume, Graphen und geometrische Objekte werden als abstrakte Typen eingeführt. Anschließend werden effizient manipulierbare Repräsentationen dieser Typen betrachtet und die zugehörigen Algorithmen auf ihre Komplexität hin untersucht.
Ausgangspunkt ist das Geheimnisprinzip und seine Bedeutung für die Strukturierung von Programmen und die Konstruktion von Datenobjekten mittels Modulen und Klassen. Eine zentrale Rolle bei der Modellierung von Daten spielt der Begriff der Datenabstraktion verbunden mit der Unterscheidung zwischen Spezifikation und Implementierung abstrakter Datenobjekte und Datentypen. Folgen, Mengen, Relationen, Bäume, Graphen und geometrische Objekte werden als abstrakte Typen eingeführt. Anschließend werden effizient manipulierbare Repräsentationen dieser Typen betrachtet und die zugehörigen Algorithmen auf ihre Komplexität hin untersucht.


Zeile 5: Zeile 7:
Technische Aspekte der Datenspeicherung im Arbeitsspeicher (Keller und Halde) und im Hintergrundspeicher (Dateien, persistente Objekte) werden behandelt. Programmiert wird sowohl in objektorientierten als auch in funktionalen Sprachen.
Technische Aspekte der Datenspeicherung im Arbeitsspeicher (Keller und Halde) und im Hintergrundspeicher (Dateien, persistente Objekte) werden behandelt. Programmiert wird sowohl in objektorientierten als auch in funktionalen Sprachen.


=Stoff=
==Stoff==
Bestimmung der Laufzeit- und Speicherkomplexität von Algorithmen;
 
u.a. folgende Datentypen
u.a. folgende Datentypen
*lineare Listen
*lineare Listen
Zeile 14: Zeile 18:
*Hashing, Hash tables
*Hashing, Hash tables


=Skript=
==Folien==
*[http://www.inf.fu-berlin.de/lehre/WS09/alp3/folien/ WiSe09/10]
 
==Skript==
*[http://najavonschmude.de/downloads/alp-iii-vorlesung.pdf WiSe07/08]
*[http://najavonschmude.de/downloads/alp-iii-vorlesung.pdf WiSe07/08]
*[http://fsi.spline.de/wiki/index.php/Datei:ALP3.pdf#filelinks ALP3-Skript]
*[http://fsi.spline.de/wiki/index.php/Datei:ALP3.pdf#filelinks ALP3-Skript]
*[http://userpage.fu-berlin.de/sonic/alp3.pdf WS 11/12 Skript]


=Übungen=
==Übungen==
*[http://najavonschmude.de/downloads/alp3-zettel.zip Übungen und Lösungen WiSe07/08]
*[http://najavonschmude.de/downloads/alp3-zettel.zip Übungen und Lösungen WiSe07/08]
*[http://benpico.spline.de/studium/Alp/III/ gelöste Übungen WiSe08/09]
*[http://www.inf.fu-berlin.de/lehre/WS09/alp3/aufgaben/ Übungen] und [http://www.inf.fu-berlin.de/lehre/WS09/alp3/loesungen/ Lösungen] WiSe09/10


=alte Klausuren=
==alte Klausuren==
*[http://www.inf.fu-berlin.de/lehre/WS09/alp3/klausur.pdf WS09/10]
*[http://www.inf.fu-berlin.de/lehre/WS09/alp3/nachklausur.pdf Nachklausur WS09/10]
*[http://page.mi.fu-berlin.de/alt/vorlesungen/ALP3-0708/kl.pdf WS07/08]
*[http://page.mi.fu-berlin.de/alt/vorlesungen/ALP3-0708/kl.pdf WS07/08]


=nützliche Links=
== Literatur ==
*[[Literaturempfehlung#ALP_3]]
 
==nützliche Links==
*[http://pad.spline.de/alp3 Zusammenfassung aus dem Wise09/10]
*[http://pad.spline.de/alp3 Zusammenfassung aus dem Wise09/10]
*[http://www.youtube.com/user/UCBerkeley#g/c/4BBB74C7D2A1049C Data Structures (University of Berkeley)]
*[http://www.youtube.com/user/UCBerkeley#g/c/4BBB74C7D2A1049C Data Structures (University of Berkeley)]
*[http://www.youtube.com/user/MIT#g/c/8B24C31197EC371C Introduction to algorithms (MIT)]
*[http://www.youtube.com/user/MIT#g/c/8B24C31197EC371C Introduction to algorithms (MIT)]
*[http://www.cs.usfca.edu/~galles/visualization/Algorithms.html Data Structure Visualizations]
*[http://www.cs.usfca.edu/~galles/visualization/Algorithms.html Data Structure Visualizations]
*[http://benpico.spline.de/studium/Alp/III/ gelöste Übungen]
 


[[Category:Informatik|ALP 3]]
[[Category:Informatik|ALP 3]]
[[Kategorie:Studienmodule/Informatik]]

Version vom 29. Dezember 2014, 21:31 Uhr

Diese Seite bezieht sich auf das Modul "Datenstrukturen und Datenabstraktion" nach der Studien- und Prüfungsordnung vom 8.2.2007.

Inhalt

Ausgangspunkt ist das Geheimnisprinzip und seine Bedeutung für die Strukturierung von Programmen und die Konstruktion von Datenobjekten mittels Modulen und Klassen. Eine zentrale Rolle bei der Modellierung von Daten spielt der Begriff der Datenabstraktion verbunden mit der Unterscheidung zwischen Spezifikation und Implementierung abstrakter Datenobjekte und Datentypen. Folgen, Mengen, Relationen, Bäume, Graphen und geometrische Objekte werden als abstrakte Typen eingeführt. Anschließend werden effizient manipulierbare Repräsentationen dieser Typen betrachtet und die zugehörigen Algorithmen auf ihre Komplexität hin untersucht.

In der objektorientierten Programmierung spielen neben der Datenabstraktion Vererbung und Polymorphie eine wesentliche Rolle. Abstrakte Datentypen werden daher häufig unter Verwendung von Vererbungsmechanismen spezifiziert und implementiert. Für typische Problemlösungen lassen sich Entwurfsmuster angeben; die Behandlung der Muster Iterator, Kompositum, Abstrakte Fabrik bietet sich an. Technische Aspekte der Datenspeicherung im Arbeitsspeicher (Keller und Halde) und im Hintergrundspeicher (Dateien, persistente Objekte) werden behandelt. Programmiert wird sowohl in objektorientierten als auch in funktionalen Sprachen.

Stoff

Bestimmung der Laufzeit- und Speicherkomplexität von Algorithmen;

u.a. folgende Datentypen

  • lineare Listen
    • Stack
    • Queue
  • Graphen
  • Bäume
  • Hashing, Hash tables

Folien

Skript

Übungen

alte Klausuren

Literatur

nützliche Links