SlideShare ist ein Scribd-Unternehmen logo
Basisinformationstechnologie II – Sommersemester 2016 – 18. April 2016
Dr. Jan G. Wieners
Datenstrukturen
Stack, Queue, Liste, Graph
Differenzierung anhand von C++ und JavaScript:
 Compiler vs. Interpreter
 Typisierung !: Dynamisch vs. statisch
 Variablen: Deklaration vs. Initialisierung
 Paradigmen: funktionale vs. Objektorientierte
Programmierung
 Objektorientierung: Klassen, Kapselung, Geheimnisprinzip
 Hardwarenahe Programmierung: C++ und Zeiger
 Gemeinsamkeiten: Auswahlanweisungen und
Kontrollstrukturen
 Schichten-Architektur: MVC
WS15/16: Programmiersprachen und ihre Unterschiede
Datenstrukturen
Datenstrukturen
 Stack / Kellerspeicher
 Queue
 Liste
 Baum
 Traversierungsarten
 Preorder
 Inorder
 Postorder
 Levelorder
Such- und Sortieralgorithmen
Themenüberblick „Algorithmen und Datenstrukturen“
Datentyp:
 Bauplan für eine Variable (benannte Speicherstelle im
Arbeitsspeicher des Rechners)
 Legt fest, welche Operationen mit einer Variable möglich sind
 Bestimmt die interne Darstellung (Repräsentation) der
Variablen im Rechner
 Z.B. bool, int, float, double, unsigned int, etc.
Algorithmen, Datenstrukturen
Datenstruktur = Daten + Funktionen
Datenstrukturen:
 Stacks (Stapel)
 Queues
 Listen
 Einfach verkettete Listen
 Doppelt verkettete Listen
 Bäume
 Binärbäume
Algorithmen, Datenstrukturen
Stack / Kellerspeicher
Typische Stackoperationen / Schnittstellen
 push(x, s)
legt ein Element x auf den Stack s
 top(s), peek(s)
liefert das zuletzt auf den Stack s gelegte Element (ohne das
entsprechende Element zu entfernen)
 pop(s)
entfernt das zuletzt auf den Stack s gelegte Element und gibt es
zurück
 isEmpty(s)
gibt an, ob der Stack s leer ist
Queue / Warteschlange
LIFO?
FIFO?
Listen
Um die Liste zu durchlaufen:
 Beginn beim ersten Element („Anker“ für den Beginn der
Liste)
 „next“ zeigt auf das nächste Listenelement
 Letztes Glied der Kette: next-Zeiger = NULL
 Um wieder auf das erste Element zugreifen zu können:
anfang-Zeiger auf das erste Element der Liste
 Hilfszeiger auf innere Elemente: cursor
Einfach verkettete Liste
Element Einfügen:
 Ursprüngliche Liste:
 Liste nach Einfügen von Element „mat“
Einfach verkettete Liste
bat cat sat vat NULLstart
bat cat sat vat NULLstart
mat
Element Löschen:
 Ursprüngliche Liste:
 Liste nach Entfernen des Elements „cat“
Einfach verkettete Liste
bat cat sat vat NULLstart
bat cat sat vat NULLstart
Vorteil:
 Elemente lassen sich sehr schnell am Anfang der einfach
verketteten Liste einfügen
Nachteil:
 Über jedes einzelne Element muss iteriert werden
Einfach verkettete Liste
bat cat sat vat NULLstart
Charakteristika: Jedes Element verfügt über
 Einen Inhalt
 Einen Zeiger auf das nachfolgende Element
 Einen Zeiger auf das vorhergehende Element
Vorteile
 Möglichkeit, vom Ende der Liste zum Beginn zu iterieren
 Schnelles Löschen und Einfügen von Elementen
Nachteil
 Speicherplatzbedarf durch zweiten Zeiger erhöht
Doppelt verkettete Liste
bat cat sat vat NULLstart
Datenstrukturen √
 Stack / Kellerspeicher √
 Queue √
 Liste √
 Baum
 Traversierungsarten
Themenüberblick „Algorithmen und Datenstrukturen“
Extensivform von Spielen (Tic Tac Toe)
Der Minimax-Algorithmus
𝑥0
𝑥1 𝑥2
𝑥4 𝑥5 𝑥6 𝑥7 𝑥8 𝑥9 𝑥10 𝑥11 𝑥12
𝑥3
3 12 8 2 4 6 14 5 2
𝑠 𝑀𝐴𝑋1
𝑠 𝑀𝐴𝑋2
𝑠 𝑀𝐴𝑋3
MAX
MIN 3 2 2
3
min(3,12,8)=3
min(2,4,6)=2
max(3,2,2)=3
min(14,5,2)=2
Baum: Begrifflichkeiten
Bäume
Wurzel
Kante
Innerer Knoten / Kindknoten
Blatt
Traversieren  Jeden Knoten des Baumes besuchen
Reihenfolge, in der die Knoten besucht werden:
 Preorder, auch: „Hauptreihenfolge“ / Tiefensuche
 Inorder, auch: „symmetrische Reihenfolge“
 Postorder, auch: „Nebenreihenfolge“
 Levelorder, auch: „Breitensuche“
Traversierung
Rekursive Regel:
 besuche die Wurzel
 Besuche den linken Unterbaum
 Besuche den rechten
Unterbaum
 WLR
Preorder Traversierung
Quelle: http://de.wikipedia.org/w/index.php?title=Datei:Depth-First-Search.gif&filetimestamp=20090326120256 (MRE)
Preorder Traversierung – Schritt 0
P
M
S
A A
L
E
T
R
E
E
Preorder Traversierung – Schritt 1
P
M
S
A A
L
E
T
R
E
EAusgabe: P
Preorder Traversierung – Schritt 2
P
M
S
A A
L
E
T
R
E
EAusgabe: P M
Preorder Traversierung – Schritt 3
P
M
S
A A
L
E
T
R
E
EAusgabe: P M S
Preorder Traversierung – Schritt 4
P
M
S
A A
L
E
T
R
E
EAusgabe: P M S A
Preorder Traversierung – Schritt 5
P
M
S
A A
L
E
T
R
E
EAusgabe: P M S A A
Preorder Traversierung – Schritt 6
P
M
S
A A
L
E
T
R
E
EAusgabe: P M S A A L
Preorder Traversierung – Schritt 7
P
M
S
A A
L
E
T
R
E
EAusgabe: P M S A A L E
Preorder Traversierung – Schritt 8
P
M
S
A A
L
E
T
R
E
EAusgabe: P M S A A L E R
Preorder Traversierung – Schritt 9
P
M
S
A A
L
E
T
R
E
EAusgabe: P M S A A L E R T
Preorder Traversierung – Schritt 10
P
M
S
A A
L
E
T
R
E
EAusgabe: P M S A A L E R T E
Preorder Traversierung – Schritt 11
P
M
S
A A
L
E
T
R
E
EAusgabe: P M S A A L E R T E E
Datenstrukturen √
 Stack / Kellerspeicher √
 Queue √
 Liste √
 Baum √
 Traversierungsarten √
 Preorder √
 Inorder √
 Postorder √
 Levelorder √
Such- und Sortieralgorithmen
Themenüberblick „Algorithmen und Datenstrukturen“
/
 https://commons.wikimedia.org/wiki/File:Universitat_
zu_Koln_Hauptgebaude_ost.jpg
 https://de.wikipedia.org/wiki/Imbiss
 https://commons.wikimedia.org/wiki/File:Sklep_cejkov
ice.JPG
Bildnachweise

Weitere ähnliche Inhalte

Andere mochten auch

Revue Ecosocialiste n°1
Revue Ecosocialiste n°1Revue Ecosocialiste n°1
Revue Ecosocialiste n°1
Mjs67
 
Yasuni itt
Yasuni ittYasuni itt
Yasuni itt
ESTHHUB
 
Revue Ecosocialiste n°3
Revue Ecosocialiste n°3Revue Ecosocialiste n°3
Revue Ecosocialiste n°3
Mjs67
 
Journey of sdtt in sri
Journey of sdtt in sriJourney of sdtt in sri
Journey of sdtt in sri
livolinkfoundation
 
Estructuras organizativas gerenciales
Estructuras organizativas gerencialesEstructuras organizativas gerenciales
Estructuras organizativas gerenciales
Diane_Luyando
 
The Art of Place Making
The Art of Place MakingThe Art of Place Making
The Art of Place Making
Jose Carlos Ayala
 
GERENCIA DEL CONOCIMIENTO
GERENCIA DEL CONOCIMIENTOGERENCIA DEL CONOCIMIENTO
GERENCIA DEL CONOCIMIENTO
gloriaelenagutierrez
 
EC 513: Recaudaciones y Ventas
EC 513: Recaudaciones y VentasEC 513: Recaudaciones y Ventas
EC 513: Recaudaciones y Ventas
Presidencia de la República del Ecuador
 
21.02.1013 Current state of coal sector of Mongolia and it's future trends, D...
21.02.1013 Current state of coal sector of Mongolia and it's future trends, D...21.02.1013 Current state of coal sector of Mongolia and it's future trends, D...
21.02.1013 Current state of coal sector of Mongolia and it's future trends, D...
The Business Council of Mongolia
 
30.10.2013 Maximising business benefits from your IT investment, Brad Skeggs
30.10.2013 Maximising business benefits from your IT investment, Brad Skeggs30.10.2013 Maximising business benefits from your IT investment, Brad Skeggs
30.10.2013 Maximising business benefits from your IT investment, Brad Skeggs
The Business Council of Mongolia
 
14.10.2010 Mongolia: The Hidden Gem in the Heart of Asia, Jackson L. Cox
14.10.2010 Mongolia: The Hidden Gem in the Heart of Asia, Jackson L. Cox14.10.2010 Mongolia: The Hidden Gem in the Heart of Asia, Jackson L. Cox
14.10.2010 Mongolia: The Hidden Gem in the Heart of Asia, Jackson L. Cox
The Business Council of Mongolia
 
Figaronron - Soirée Télévie (01-12-2007)
Figaronron - Soirée Télévie (01-12-2007)Figaronron - Soirée Télévie (01-12-2007)
Figaronron - Soirée Télévie (01-12-2007)Figaronron Figaronron
 
Mémoire mérici révision ldpsf 03.2015
Mémoire mérici révision ldpsf 03.2015Mémoire mérici révision ldpsf 03.2015
Mémoire mérici révision ldpsf 03.2015
Maxgauthier
 
Second life
Second lifeSecond life
Second life
almibardemoledor
 
Figaronron - Combat dit Lumeçon (14-06-2009)
Figaronron - Combat dit Lumeçon (14-06-2009)Figaronron - Combat dit Lumeçon (14-06-2009)
Figaronron - Combat dit Lumeçon (14-06-2009)Figaronron Figaronron
 

Andere mochten auch (17)

Revue Ecosocialiste n°1
Revue Ecosocialiste n°1Revue Ecosocialiste n°1
Revue Ecosocialiste n°1
 
Yasuni itt
Yasuni ittYasuni itt
Yasuni itt
 
Revue Ecosocialiste n°3
Revue Ecosocialiste n°3Revue Ecosocialiste n°3
Revue Ecosocialiste n°3
 
Journey of sdtt in sri
Journey of sdtt in sriJourney of sdtt in sri
Journey of sdtt in sri
 
Estructuras organizativas gerenciales
Estructuras organizativas gerencialesEstructuras organizativas gerenciales
Estructuras organizativas gerenciales
 
The Art of Place Making
The Art of Place MakingThe Art of Place Making
The Art of Place Making
 
GERENCIA DEL CONOCIMIENTO
GERENCIA DEL CONOCIMIENTOGERENCIA DEL CONOCIMIENTO
GERENCIA DEL CONOCIMIENTO
 
EC 513: Recaudaciones y Ventas
EC 513: Recaudaciones y VentasEC 513: Recaudaciones y Ventas
EC 513: Recaudaciones y Ventas
 
21.02.1013 Current state of coal sector of Mongolia and it's future trends, D...
21.02.1013 Current state of coal sector of Mongolia and it's future trends, D...21.02.1013 Current state of coal sector of Mongolia and it's future trends, D...
21.02.1013 Current state of coal sector of Mongolia and it's future trends, D...
 
30.10.2013 Maximising business benefits from your IT investment, Brad Skeggs
30.10.2013 Maximising business benefits from your IT investment, Brad Skeggs30.10.2013 Maximising business benefits from your IT investment, Brad Skeggs
30.10.2013 Maximising business benefits from your IT investment, Brad Skeggs
 
14.10.2010 Mongolia: The Hidden Gem in the Heart of Asia, Jackson L. Cox
14.10.2010 Mongolia: The Hidden Gem in the Heart of Asia, Jackson L. Cox14.10.2010 Mongolia: The Hidden Gem in the Heart of Asia, Jackson L. Cox
14.10.2010 Mongolia: The Hidden Gem in the Heart of Asia, Jackson L. Cox
 
10 contrats
10 contrats10 contrats
10 contrats
 
Figaronron - Soirée Télévie (01-12-2007)
Figaronron - Soirée Télévie (01-12-2007)Figaronron - Soirée Télévie (01-12-2007)
Figaronron - Soirée Télévie (01-12-2007)
 
Mémoire mérici révision ldpsf 03.2015
Mémoire mérici révision ldpsf 03.2015Mémoire mérici révision ldpsf 03.2015
Mémoire mérici révision ldpsf 03.2015
 
Certificates
CertificatesCertificates
Certificates
 
Second life
Second lifeSecond life
Second life
 
Figaronron - Combat dit Lumeçon (14-06-2009)
Figaronron - Combat dit Lumeçon (14-06-2009)Figaronron - Combat dit Lumeçon (14-06-2009)
Figaronron - Combat dit Lumeçon (14-06-2009)
 

Mehr von Institute for Digital Humanities, University of Cologne

Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...
Institute for Digital Humanities, University of Cologne
 
Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...
Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...
Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...
Institute for Digital Humanities, University of Cologne
 
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...
Institute for Digital Humanities, University of Cologne
 
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Institute for Digital Humanities, University of Cologne
 
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Institute for Digital Humanities, University of Cologne
 
Bit sosem 2016-wieners-sitzung-13_ki-in-games
Bit sosem 2016-wieners-sitzung-13_ki-in-gamesBit sosem 2016-wieners-sitzung-13_ki-in-games
Bit sosem 2016-wieners-sitzung-13_ki-in-games
Institute for Digital Humanities, University of Cologne
 
Bit sosem 2016-wieners-sitzung-12_bild-iv-computer-vision
Bit sosem 2016-wieners-sitzung-12_bild-iv-computer-visionBit sosem 2016-wieners-sitzung-12_bild-iv-computer-vision
Bit sosem 2016-wieners-sitzung-12_bild-iv-computer-vision
Institute for Digital Humanities, University of Cologne
 
Bit sosem 2016-wieners-sitzung-11_bild-iii-filter
Bit sosem 2016-wieners-sitzung-11_bild-iii-filterBit sosem 2016-wieners-sitzung-11_bild-iii-filter
Bit sosem 2016-wieners-sitzung-11_bild-iii-filter
Institute for Digital Humanities, University of Cologne
 
Bit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationen
Bit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationenBit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationen
Bit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationen
Institute for Digital Humanities, University of Cologne
 
Bit sosem 2016-wieners-sitzung-09_bild-i-kompression
Bit sosem 2016-wieners-sitzung-09_bild-i-kompressionBit sosem 2016-wieners-sitzung-09_bild-i-kompression
Bit sosem 2016-wieners-sitzung-09_bild-i-kompression
Institute for Digital Humanities, University of Cologne
 
Bit sosem 2016-wieners-sitzung-08_semantic-web
Bit sosem 2016-wieners-sitzung-08_semantic-webBit sosem 2016-wieners-sitzung-08_semantic-web
Bit sosem 2016-wieners-sitzung-08_semantic-web
Institute for Digital Humanities, University of Cologne
 
Bit sosem 2016-wieners-sitzung-07_rechnerkommunikation-ii
Bit sosem 2016-wieners-sitzung-07_rechnerkommunikation-iiBit sosem 2016-wieners-sitzung-07_rechnerkommunikation-ii
Bit sosem 2016-wieners-sitzung-07_rechnerkommunikation-ii
Institute for Digital Humanities, University of Cologne
 
Bit sosem 2016-wieners-sitzung-06_rechnerkommunikation
Bit sosem 2016-wieners-sitzung-06_rechnerkommunikationBit sosem 2016-wieners-sitzung-06_rechnerkommunikation
Bit sosem 2016-wieners-sitzung-06_rechnerkommunikation
Institute for Digital Humanities, University of Cologne
 
Bit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conway
Bit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conwayBit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conway
Bit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conway
Institute for Digital Humanities, University of Cologne
 
Bit sosem 2016-wieners-sitzung-04_theoretische-informatik
Bit sosem 2016-wieners-sitzung-04_theoretische-informatikBit sosem 2016-wieners-sitzung-04_theoretische-informatik
Bit sosem 2016-wieners-sitzung-04_theoretische-informatik
Institute for Digital Humanities, University of Cologne
 
Bit sosem 2016-wieners-sitzung-03_algorithmen
Bit sosem 2016-wieners-sitzung-03_algorithmenBit sosem 2016-wieners-sitzung-03_algorithmen
Bit sosem 2016-wieners-sitzung-03_algorithmen
Institute for Digital Humanities, University of Cologne
 
Bit sosem 2016-wieners-sitzung-01_auffrischung
Bit sosem 2016-wieners-sitzung-01_auffrischungBit sosem 2016-wieners-sitzung-01_auffrischung
Bit sosem 2016-wieners-sitzung-01_auffrischung
Institute for Digital Humanities, University of Cologne
 
Bit sosem 2016-wieners-sitzung-00_themenueberblick
Bit sosem 2016-wieners-sitzung-00_themenueberblickBit sosem 2016-wieners-sitzung-00_themenueberblick
Bit sosem 2016-wieners-sitzung-00_themenueberblick
Institute for Digital Humanities, University of Cologne
 
Bit wisem 2015-wieners-sitzung-13_Zusammenfassung II
Bit wisem 2015-wieners-sitzung-13_Zusammenfassung IIBit wisem 2015-wieners-sitzung-13_Zusammenfassung II
Bit wisem 2015-wieners-sitzung-13_Zusammenfassung II
Institute for Digital Humanities, University of Cologne
 
Bit wisem 2015-wieners-sitzung-12_Zusammenfassung I
Bit wisem 2015-wieners-sitzung-12_Zusammenfassung IBit wisem 2015-wieners-sitzung-12_Zusammenfassung I
Bit wisem 2015-wieners-sitzung-12_Zusammenfassung I
Institute for Digital Humanities, University of Cologne
 

Mehr von Institute for Digital Humanities, University of Cologne (20)

Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...
 
Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...
Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...
Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...
 
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...
 
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
 
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
 
Bit sosem 2016-wieners-sitzung-13_ki-in-games
Bit sosem 2016-wieners-sitzung-13_ki-in-gamesBit sosem 2016-wieners-sitzung-13_ki-in-games
Bit sosem 2016-wieners-sitzung-13_ki-in-games
 
Bit sosem 2016-wieners-sitzung-12_bild-iv-computer-vision
Bit sosem 2016-wieners-sitzung-12_bild-iv-computer-visionBit sosem 2016-wieners-sitzung-12_bild-iv-computer-vision
Bit sosem 2016-wieners-sitzung-12_bild-iv-computer-vision
 
Bit sosem 2016-wieners-sitzung-11_bild-iii-filter
Bit sosem 2016-wieners-sitzung-11_bild-iii-filterBit sosem 2016-wieners-sitzung-11_bild-iii-filter
Bit sosem 2016-wieners-sitzung-11_bild-iii-filter
 
Bit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationen
Bit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationenBit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationen
Bit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationen
 
Bit sosem 2016-wieners-sitzung-09_bild-i-kompression
Bit sosem 2016-wieners-sitzung-09_bild-i-kompressionBit sosem 2016-wieners-sitzung-09_bild-i-kompression
Bit sosem 2016-wieners-sitzung-09_bild-i-kompression
 
Bit sosem 2016-wieners-sitzung-08_semantic-web
Bit sosem 2016-wieners-sitzung-08_semantic-webBit sosem 2016-wieners-sitzung-08_semantic-web
Bit sosem 2016-wieners-sitzung-08_semantic-web
 
Bit sosem 2016-wieners-sitzung-07_rechnerkommunikation-ii
Bit sosem 2016-wieners-sitzung-07_rechnerkommunikation-iiBit sosem 2016-wieners-sitzung-07_rechnerkommunikation-ii
Bit sosem 2016-wieners-sitzung-07_rechnerkommunikation-ii
 
Bit sosem 2016-wieners-sitzung-06_rechnerkommunikation
Bit sosem 2016-wieners-sitzung-06_rechnerkommunikationBit sosem 2016-wieners-sitzung-06_rechnerkommunikation
Bit sosem 2016-wieners-sitzung-06_rechnerkommunikation
 
Bit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conway
Bit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conwayBit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conway
Bit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conway
 
Bit sosem 2016-wieners-sitzung-04_theoretische-informatik
Bit sosem 2016-wieners-sitzung-04_theoretische-informatikBit sosem 2016-wieners-sitzung-04_theoretische-informatik
Bit sosem 2016-wieners-sitzung-04_theoretische-informatik
 
Bit sosem 2016-wieners-sitzung-03_algorithmen
Bit sosem 2016-wieners-sitzung-03_algorithmenBit sosem 2016-wieners-sitzung-03_algorithmen
Bit sosem 2016-wieners-sitzung-03_algorithmen
 
Bit sosem 2016-wieners-sitzung-01_auffrischung
Bit sosem 2016-wieners-sitzung-01_auffrischungBit sosem 2016-wieners-sitzung-01_auffrischung
Bit sosem 2016-wieners-sitzung-01_auffrischung
 
Bit sosem 2016-wieners-sitzung-00_themenueberblick
Bit sosem 2016-wieners-sitzung-00_themenueberblickBit sosem 2016-wieners-sitzung-00_themenueberblick
Bit sosem 2016-wieners-sitzung-00_themenueberblick
 
Bit wisem 2015-wieners-sitzung-13_Zusammenfassung II
Bit wisem 2015-wieners-sitzung-13_Zusammenfassung IIBit wisem 2015-wieners-sitzung-13_Zusammenfassung II
Bit wisem 2015-wieners-sitzung-13_Zusammenfassung II
 
Bit wisem 2015-wieners-sitzung-12_Zusammenfassung I
Bit wisem 2015-wieners-sitzung-12_Zusammenfassung IBit wisem 2015-wieners-sitzung-12_Zusammenfassung I
Bit wisem 2015-wieners-sitzung-12_Zusammenfassung I
 

Bit sosem 2016-wieners-sitzung-02_datenstrukturen

  • 1. Basisinformationstechnologie II – Sommersemester 2016 – 18. April 2016 Dr. Jan G. Wieners Datenstrukturen Stack, Queue, Liste, Graph
  • 2. Differenzierung anhand von C++ und JavaScript:  Compiler vs. Interpreter  Typisierung !: Dynamisch vs. statisch  Variablen: Deklaration vs. Initialisierung  Paradigmen: funktionale vs. Objektorientierte Programmierung  Objektorientierung: Klassen, Kapselung, Geheimnisprinzip  Hardwarenahe Programmierung: C++ und Zeiger  Gemeinsamkeiten: Auswahlanweisungen und Kontrollstrukturen  Schichten-Architektur: MVC WS15/16: Programmiersprachen und ihre Unterschiede
  • 4. Datenstrukturen  Stack / Kellerspeicher  Queue  Liste  Baum  Traversierungsarten  Preorder  Inorder  Postorder  Levelorder Such- und Sortieralgorithmen Themenüberblick „Algorithmen und Datenstrukturen“
  • 5. Datentyp:  Bauplan für eine Variable (benannte Speicherstelle im Arbeitsspeicher des Rechners)  Legt fest, welche Operationen mit einer Variable möglich sind  Bestimmt die interne Darstellung (Repräsentation) der Variablen im Rechner  Z.B. bool, int, float, double, unsigned int, etc. Algorithmen, Datenstrukturen
  • 6. Datenstruktur = Daten + Funktionen Datenstrukturen:  Stacks (Stapel)  Queues  Listen  Einfach verkettete Listen  Doppelt verkettete Listen  Bäume  Binärbäume Algorithmen, Datenstrukturen
  • 8. Typische Stackoperationen / Schnittstellen  push(x, s) legt ein Element x auf den Stack s  top(s), peek(s) liefert das zuletzt auf den Stack s gelegte Element (ohne das entsprechende Element zu entfernen)  pop(s) entfernt das zuletzt auf den Stack s gelegte Element und gibt es zurück  isEmpty(s) gibt an, ob der Stack s leer ist
  • 9.
  • 13.
  • 14. Um die Liste zu durchlaufen:  Beginn beim ersten Element („Anker“ für den Beginn der Liste)  „next“ zeigt auf das nächste Listenelement  Letztes Glied der Kette: next-Zeiger = NULL  Um wieder auf das erste Element zugreifen zu können: anfang-Zeiger auf das erste Element der Liste  Hilfszeiger auf innere Elemente: cursor Einfach verkettete Liste
  • 15. Element Einfügen:  Ursprüngliche Liste:  Liste nach Einfügen von Element „mat“ Einfach verkettete Liste bat cat sat vat NULLstart bat cat sat vat NULLstart mat
  • 16. Element Löschen:  Ursprüngliche Liste:  Liste nach Entfernen des Elements „cat“ Einfach verkettete Liste bat cat sat vat NULLstart bat cat sat vat NULLstart
  • 17. Vorteil:  Elemente lassen sich sehr schnell am Anfang der einfach verketteten Liste einfügen Nachteil:  Über jedes einzelne Element muss iteriert werden Einfach verkettete Liste bat cat sat vat NULLstart
  • 18. Charakteristika: Jedes Element verfügt über  Einen Inhalt  Einen Zeiger auf das nachfolgende Element  Einen Zeiger auf das vorhergehende Element Vorteile  Möglichkeit, vom Ende der Liste zum Beginn zu iterieren  Schnelles Löschen und Einfügen von Elementen Nachteil  Speicherplatzbedarf durch zweiten Zeiger erhöht Doppelt verkettete Liste bat cat sat vat NULLstart
  • 19. Datenstrukturen √  Stack / Kellerspeicher √  Queue √  Liste √  Baum  Traversierungsarten Themenüberblick „Algorithmen und Datenstrukturen“
  • 20.
  • 21. Extensivform von Spielen (Tic Tac Toe)
  • 22. Der Minimax-Algorithmus 𝑥0 𝑥1 𝑥2 𝑥4 𝑥5 𝑥6 𝑥7 𝑥8 𝑥9 𝑥10 𝑥11 𝑥12 𝑥3 3 12 8 2 4 6 14 5 2 𝑠 𝑀𝐴𝑋1 𝑠 𝑀𝐴𝑋2 𝑠 𝑀𝐴𝑋3 MAX MIN 3 2 2 3 min(3,12,8)=3 min(2,4,6)=2 max(3,2,2)=3 min(14,5,2)=2
  • 24. Traversieren  Jeden Knoten des Baumes besuchen Reihenfolge, in der die Knoten besucht werden:  Preorder, auch: „Hauptreihenfolge“ / Tiefensuche  Inorder, auch: „symmetrische Reihenfolge“  Postorder, auch: „Nebenreihenfolge“  Levelorder, auch: „Breitensuche“ Traversierung
  • 25. Rekursive Regel:  besuche die Wurzel  Besuche den linken Unterbaum  Besuche den rechten Unterbaum  WLR Preorder Traversierung Quelle: http://de.wikipedia.org/w/index.php?title=Datei:Depth-First-Search.gif&filetimestamp=20090326120256 (MRE)
  • 26. Preorder Traversierung – Schritt 0 P M S A A L E T R E E
  • 27. Preorder Traversierung – Schritt 1 P M S A A L E T R E EAusgabe: P
  • 28. Preorder Traversierung – Schritt 2 P M S A A L E T R E EAusgabe: P M
  • 29. Preorder Traversierung – Schritt 3 P M S A A L E T R E EAusgabe: P M S
  • 30. Preorder Traversierung – Schritt 4 P M S A A L E T R E EAusgabe: P M S A
  • 31. Preorder Traversierung – Schritt 5 P M S A A L E T R E EAusgabe: P M S A A
  • 32. Preorder Traversierung – Schritt 6 P M S A A L E T R E EAusgabe: P M S A A L
  • 33. Preorder Traversierung – Schritt 7 P M S A A L E T R E EAusgabe: P M S A A L E
  • 34. Preorder Traversierung – Schritt 8 P M S A A L E T R E EAusgabe: P M S A A L E R
  • 35. Preorder Traversierung – Schritt 9 P M S A A L E T R E EAusgabe: P M S A A L E R T
  • 36. Preorder Traversierung – Schritt 10 P M S A A L E T R E EAusgabe: P M S A A L E R T E
  • 37. Preorder Traversierung – Schritt 11 P M S A A L E T R E EAusgabe: P M S A A L E R T E E
  • 38. Datenstrukturen √  Stack / Kellerspeicher √  Queue √  Liste √  Baum √  Traversierungsarten √  Preorder √  Inorder √  Postorder √  Levelorder √ Such- und Sortieralgorithmen Themenüberblick „Algorithmen und Datenstrukturen“
  • 39. /

Hinweis der Redaktion

  1. Algorithmus: Eindeutige Beschreibung eines endlichen Verfahrens zur Lösung einer bestimmten Klasse von Problemen Komplexität eines Algorithmus: Bedarf an Ressourcen (i.e. Rechenzeit und Speicherplatz) Güte eines Algorithmus: Qualität der Ergebnisse Laufzeit / Rechenbedarf des Algorithmus
  2. Einfach verkettete Liste Liste  Folge von Elementen; jedes Element = Teil einer Kette Jeder Eintrag in der Liste verfügt nicht nur über seinen Inhalt, sondern darüber hinaus über einen Zeiger auf das nächste Listenelement:
  3. Extensivform
  4. Knotenbeziehungen  Achsen: Elternknoten (parent) – Jedes Element verfügt über einen Elternknoten. Ausnahme: ??? Vorfahre (ancestor) – Elternknoten von Knoten Beispiel: Der Knoten „2“ ist Vorfahre des Knotens „3“. Kind (child) – Untergeordnete Knoten Beispiel: „3“ ist Kindknoten von „2“. Geschwister (siblings): Knoten mit gleichen Elternknoten sind Geschwisterknoten. Beispiel: Der Knoten „3“ ist Geschwisterknoten des Knotens „4“.