Algorithmen und Datenstrukturen

Ähnliche Dokumente
Zum Buch Hinweise Handhabung des Buchs Website In eigener Sache... 19

Software Engineering

Inhaltsverzeichnis. Teil 1 Grundlagen 23

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2

Inhaltsübersicht. Vorwort 15. Vorwort zur deutschen Ausgabe 22. Kapitel 1 Elemente der Programmierung 25. Kapitel 2 Funktionen und Module 203

Inhaltsverzeichnis. Teil 1 Grundlagen 21. Teil 2 Datenstrukturen 85

Sprechen Sie Java? Hanspeter Mössenböck. Tm\ dpunkt.verlag. Eine Einführung in das systematische Programmieren

Programmierung in C/C++

Inhaltsverzeichnis Grundbegriffe der Programmierung Strukturelle Programmierung

Java-Grundkurs für Wirtschaftsinformatiker

Robert Sedgewick. Algorithmen in Java. Teil 1-4 Grundlagen Datenstrukturen Sortieren Suchen. Java-Beratung durch Michael Schidlowsky

Robert Sedgewick. Algorithmen in Java. »il 1-4 Grundlagen Datenstrykturen Sortleren Suchen. java-beratung durch Michael Schidlowsky

Java-Grundkurs für rtschaftsinformatiker

Ralf Kirsch Uwe Schmitt. Programmieren inc. Eine mathematikorientierte Einführung. Mit 24 Abbildungen und 13 Tabellen. Springer

Themenübersicht Verwendung im Studium Voraussetzungen Ziele Website zum Buch Danksagungen... 21

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17

EIDI 1 Einführung in die Informatik 1. PGdP Praktikum Grundlagen der Programmierung. Harald Räcke 2/217

Inhaltsverzeichnis. 1 Grundlagen 1. 2 Einfache Programme 21

Inhaltsverzeichnis. Einführende Bemerkungen 11. Das Fach Informatik 11 Zielsetzung der Vorlesung Grundbegriffe

Algorithmen und Datenstrukturen

Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund

Objektorientierte Programmierung (OOP)

Grundlagen des Software Engineering

Algorithmen und Datenstrukturen

Inhaltsverzeichnis. I Grundlegende Konzepte 1. xiii

III.1 Prinzipien der funktionalen Programmierung - 1 -

Programmiertechnik II SS Fakultät Informatik Bachelor Angewandte Informatik

Inhaltsverzeichnis 1 Der objektorientierte Ansatz 2 Elementare Objekte und Ausdrücke

EINI LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12

Inhalte des Moduls Programmieren 1

Inhalt. Einführung in die Strukturierte Programmierung 15

Objektorientiertes Programmieren

Algorithmen. Robert Sedgewick Princeton University ADDISON-WESLEY

Programmiertechnik II WS 2017/18

Gliederung der Folien

Algorithmen und Datenstrukturen

Matrikelnr. Name. Vorname

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen

ISO-SiMMlarcl. als erste Programmiersprache. Von Prof. Dr. Joachim Goll Uwe Grüner Prof. Herbert Wiese 2., durchgesehene Auflage

Gliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung

Robert Sedgewick Kevin Wayne Einführung in die Programmierung mit Java

Inhaltsverzeichnis. Vorwort

Programmieren lernen mit Perl

Inhaltsverzeichnis. Inhalt. Bemerkung... 9 Vorwort Programme und Programmiersprachen

EINI LogWing/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 17/18

Grundkurs Software- Entwicklung mit C++

Programmieren ++ Begleitende Übungen zu Veranstaltungen + Umsetzen des Algorithmus in ein lauffähiges Programm

LISE MEITNER GYMNASIUM NEUENHAUS UELSEN

Was bisher geschah Modellierung von Daten durch Mengen Beziehungen (Zusammenhänge und Eigenschaften) durch Relationen, Graphen und Funktionen

Schulinterner Lehrplan zum Kernlehrplan für die gymnasiale Oberstufe. Informatik Q2. Stand: 02/2016 Status: Gültig

Schulinternes Curriculum im Fach Informatik

Datenstrukturen und Algorithmen

Fragenkatalog 1. Kurseinheit

Knasmüller.book Seite vii Mittwoch, 28. März : vii. Inhaltsverzeichnis

5. Algorithmen. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

Technische Universität München SoSe 2018 Fakultät für Informatik, I Mai 2018 Dr. Stefanie Demirci

Inhaltsverzeichnis. Was ist Informatik? 5. Programmierung 13. Einleitung. 1 Informatik Was ist Informatik? Teilgebiete der Informatik 8

Effektiv Programmieren in С und C++

Grundkurs Programmieren in Java

Programmieren in Lua

Vorwort zur zweiten Auflage 1. Vorwort zur ersten Auflage 2

Grundkurs Programmieren in Java

Inhaltsverzeichnis. 4.9 Aufgaben... 63

Grundkurs Programmieren in Java

Programmieren I. Modulbezeichnung Programmieren I Modulverantwortliche(r) Müller

DUDEN. Basiswissen Schule. Informatik Abitur. PAETEC Verlag für Bildungsmedien Berlin : Dudenverlag Mannheim Leipzig Wien Zürich

Grundkurs Programmieren in Java

Grundkurs Programmieren in Java Band 1: Der Einstieg in Programmierung und Objektorientierung

Matrikelnr. Name. Vorname

Das Einsteigerseminar Objektorientierte Programmierung in Java

Logistik: Transport. Grundlagen, lineare Transportund Umladeprobleme. Von Dr. Wolfgang Domschke. o. Professor für Betriebswirtschaftslehre

Theoretische Informatik I

Programmieren in C Dynamische Listen / Bäume

Algorithmen und Datenstrukturen

Wiederholung: Zusammenfassung Felder. Algorithmen und Datenstrukturen (für ET/IT) Definition Abstrakter Datentyp. Programm heute

Algorithmen und Datenstrukturen

Gliederung. Algorithmen und Datenstrukturen I. Eine wichtige Frage. Algorithmus. Materialien zur Vorlesung. Begriffsbestimmung EUKLID Primzahltest

Software-Entwicklung mit Delphi

Algorithmen und Datenstrukturen (für ET/IT)

Webbasierte Programmierung

1. Teilklausur. Name:... Vorname:... Matrikel-Nummer:...

Kapitel 2. Weitere Beispiele Effizienter Algorithmen

Technische Universität München SoSe 2015 Institut für Informatik I Mai 2015 Dr. Tobias Lasser. Aufgabe 1 Rechnen mit Landau-Symbolen

Informatik für Ingenieure

Unterrichtsvorhaben I: Thema: Wiederholung der objektorientierten Modellierung und Programmierung anhand einer kontextbezogenen Problemstellung

allgemeine Übersicht / Struktur

Inhaltsverzeichnis. Vorwort.11

Datenstrukturen & Algorithmen

Inhaltsverzeichnis.

AlgoDat Fragen zu Vorlesung und Klausur

Konvexe Hülle. Abbildung: [Wikipedia]: Nicht-konvexe Menge (links), konvexe Menge (rechts) KIT Institut für Theoretische Informatik 510

Datenstrukturen und Algorithmen

Algorithmen und Datenstrukturen

Java als erste Programmiersprache

Praktische Informatik I

Transkript:

Gustav Pomberger Heinz Dobler Algorithmen und Datenstrukturen Eine systematische Einführung In die Programmierung L PEARSON Studium am trnpmt van Büslnn HÜ;IÜW, Engiund

Inhaltsverzeichnis Vorwort Zum Buch,.,. *-.>-^«.f.. Hinweise _..,,.. Handhab un^, des BmJia 15 17 In Einleitung 21 Teil I Algorithmen und Daten Strukturen - Grundlagen Kapitel 1 Grundbegriffe und elementare Konzepte 1.1 Beiauitie für AlguriÜmieii - Ein eiaier Blick auf den 3.2 Algaihhmus: Beg?i3und Eigenschaften.... 1.2. t llflßrlfl \.2.2 Eiyeuicjliailen 1.3 Elemcntaic Bpstandtciic von Aigorithmen 1.1.1 [Jatsnnh)nktp und ihm Uatpntypfin :;. 1.3.2 Aktionen (auch Anweisungen ^n?nannt],,, 1 A AlgnTlthnidn inil Ihr^n Srlinitlfitflljpn. 1.4.1 AlguiiÜwien: Dtkläiuliuri uiid Aufruf.,.. 1.4 2 Funktionsalgorithmcn. 27 32 36 47 fifl 57 1.5 1.4.4 Alfturilhmon und iluu Schnittstcrllon - Zusammen fassuns Zur SpezifikationsprobJemaTlk von Algorithmen. Dflrutfllliingsfrirnnin für AlgnrithmeD».;'. 1.6-1 Grafische DarsIcHünssfornien füi 1 Algoritluncn '. i\\ l.ö,j Zu^ainiittMifd^siiu^ der Algorithmen und Programme 1.7.1 Vnm Algorithmus mim 1.7.2 Möglichkeiten füi dio AusfüluuiXR eines Proaronims 1.7.3 Unterschiede zwischen Algorilhmup und Programm., 65 72 77 76 7Ü 79

Kapitel Z Struktur und systematischer Entwurf von Algorithmen 2.1 GnjndlescndeKoiiBUiddfcziirGeaLHUuiiHi der Struktur vnn Algorithmen.. 2.2 Unbflsnhranktfl AhlnnffttmktuT und Konsequenzen.,,._,,, 2.3 BescbjJinkEhr AblautilrLikliiran: TJ-DiagramTnkonBtmkle.,.,.. 3-3-\ TFdnslorinaticin unbeschrankter A1jUu fu~uk(ureu in D-Diagramms M 2.3.2 Transtornjötioii uach Kiiulli 2.3.3 Transformation nach Uiilenam, -, ^»,,..,-, 2.4 Erwcilerti? D DicLUiiuiHnikituiiLrukLe.',.,... '1.5 Struklurkinnplexität von AlgorithmflT) und strukturierte HTOgrammierung 2.5.1 Uuifkujj,arnelrikiin,...+, Kapitel 3 3,5,3 Metriken nach Halstoad 2.5,3 Sliuklurmelriken iirii:h 3.5.4 Syä\etiiahau\u-T Entwurf von l'rin^ip und Vrirgöhflnsmcdell, 2.6.1 Schi'iUwtiise Veifeitierung udprtop-dcwn-kntwurf 2.5.2 Annvnrfung des Prinrips de.- schrittweisen VcifriuüiuiiH 2.G.3 Ein VoE^irJiHUiiiHidell für dun Entwurf vnn Algorithmen Zueammeniassung, Grundkonzepte zur ModeNjerang von Datenobjfikten >& &'/* 3.1 ALruiiarp 4Jü1anih fivlfi unri -lypen,.. r 3 2 Strukturierte Datenobjekte und -typoa....,.,..-~-v.r, 1.2.1 PfllHfli\,.,,. 3.2.2 Verbünde - 2.2.2 f"ioßpnii(>«t6tellnng und Kombination von Feldern und Verbuudun L L.,, r.. r 3.2. Vflmfllztn oder dynarnisene Datenob}ektc und typen a.3.1 Zeiger und Zeigprriütnnlyppfi 3.3.2 Atlokiercn und Frciaeben vim J.4 VerkiittHlü Listpn 3.4.1 Von Feldern zu verkwlleltru LiaEen 3.4.2 Einfflrh-varkflJtfllp Liptfln 'A.5 3 G 3.7 3.4.3 Doppelt-vurkuUi-Lt LidLen und binäre S ^,5.a IMnMrbäüTne 3.S.3 Binäre Suntib^iimB,,., Datedkapselung und abstrakte- DpItJi&trukluren - 3.B.1 Kpllerppnirhpr {stark) als flhslrahe U&teDStruktUF AbstrakteDatemvpen ^.., 3.7.1 WartqB^hisnga [quette] als abstrakter Datentyp... 87 30 94 95 9ß y» 101 ] n2 103 1OB 1EI7 lütt 109 HU 11B 12U 125 12B l.lfl 141 141 14fi 149 14S 1Ö2 JP3 184 167 171 174 17fi 177

Kapitel 4 Rekursive Algorithmen 1S7 4.1 Begritt"Rckursion und Siaiidanlbtispiele.. X t,;..>:.;.7-:.;,.;*:,... 190 4.1.1 l'akultati'het**ohnung iyi 4.1.2 Bildung der Fibmiiitrc:!-Zahlen J94 4.1.3 Ackejiiiann-FupkÜijU Iflfl 4,2 4,3 4.4 4,5 4.1.4 Primzahlpnlaet 2UU Ausfüliruujj, uudteriuinieruiigrekuwivhr Algorilhmqn 202 Vorgehen beim Entwurf rckmsivej AlfcUJiihiiLUn 207 KefcurBi'nn und Itpralinn *...-...* 211 4.4 1 VeiwumÜsdiüfl vun Rekuraiuu und Iteration^ ^.»^j.*,,»*,»,... %\ l 4.4 2 limrekiirsivieruüg. VonKekursionzuIteraiioa l i-.,v4 -,,,. 'ivi 4.4r^l Rekurs ivierung: Vun IlemEion zu Rftkursinn».. *.++.,.., 217 Rekureive Algorithmen auf rckutsiven DatcastrukLurnij 21ö 4.5.1 Rpkursiva Algorithmen auf vm-fcefjeten Matea 310 4.5 r Rukuiüiv«Aljttn'l"ineu aüfbinüleu (SucJi')Bäunien 220 Zusammenfassung..,,,.,.,,. 225 226 Kapitel 5 Laufzeitkomplexitat von Algorithmen zzy 5.1 Kumplexilüt von Aignrithmfin: riflgnffe und Abgrenzung 231 5-2 LaufzdtiUtSüiiiiK und PfO^riiniiuproril 234 5.3 Keinanalyse und Lautzeilbcrechnimpi.._., 237 5.4 (imhanalysp 242 5.5 A&yiiiplüliscäi^ LHuktilkouiplexital und O-Notalinn 249 Teil II Elementare Algorithmen für Standard- ; aufgaben - eine Auswahl 263 Kapitel 6 Suchalgorithmen 0,1 Anwendungsgahifitp und Anforjäsningfin _ 0.2 Sequenzielle Suche 6.2.1 Spqupnziillp Suche In Feldern,, 6.2.2 Sequentielle Suihe in verketteten Listen,.. - 6.2.3 Sequenzielle Suche in Biuürbäunicn 6.2.4 Ssqusnzinlle Siirhp in bpkphigen Uehältern. mittels Itcratorcn 0,2.5 LuufZtfilkunipltTUtül der aequen^ii^llen Suthn ß,3 Hlnäre Suthe 6.3.1 Binarfi Surha in snrtiprlpn 1'slderti 6,3-2 BijiüJt; SULIIÜ in biuaien Suulibuuinen 6.3.3 LaufMiTkomplejäläl, der binären Suche,-,,,, 267 27$ 273 274 270 27H 27Ü

ti.4 Sucht) -.,, - 262. 0,4.1 Grundprinzip des llashing.,..., 2K2 P.4 2 Kash-Kiinkluinfin und Kollisionun 2QA b.4.3 Külii&ioüsbfjhaiidlmifi duith Verkettung 2fl7 6.4.4 Kollisionsbehandlitng durch nffene A^rflfiRiflmns 2HQ 294 Aufgabtrii, T,,,,, 295 Kapitel 7 l/\ 7.2 7.3 7.4 1 7 7.0 Sortieralgorithmen Anwendungsgebiet!? und Anforderungen Aii&wahlsortleren,,,,-,,,. Einfügeaurliertui Shcll-Sortieren AiiElaiifirhnnrtiflrt*n {Buhhh^scirl) und Comhsurl aus 306 3O9 315 ± 321 Hcap-Datcnslruktui und /feap-snfllflt»*n- 32H 7.7.1 Wtiip-DüLenilruktuc t 328 77.2 Hcap-Snitieren a T 14 Writa Sortinrvarfahrsn 337 Prubleinknnijilirxiuit 340 Zusammenfassung,,,, 142 Aufgaben - ;i44 Kapitel 8 ft.2 6.3 (1.4 Algorithmen zur Erzeugung von p. Umgriffe und Anforderungen. uih Gedächtnis Methoden ziu Erzengvuig von Mfl-thnHun?.\ 34Ü 348 355 Tests zur Prüfung 7.uxammnn Aufgaben. von /.ufulls^ahlhnfolgan "Jb2 305 Kapitel 9 Exhätistlonsaigorithmen 360 y.l AchL- bzw. n-damen-problera -,., 372 y.2 Allgflmsinp l-'rnhlmnfdrmiimpnjng uml grundlegender LüamigshuiüaLZ... 37Ö H.l Variunlen VÜII BuLklnickiii^-Au^abcn und LÖ&un^cn 363 0.4 Standaidproblemstellungen und beinifitier-h«algnrithm*+n 3ÖH Aufgaben

Kapitel 10 Algorithmen auf Zeichen ketten 399 113.3 RtrprüüL'clidLitJU vun uild üleint?u[nre Opemliunen aurzticherikellen 4U1 10 2 Problem der Mustcrsuche in. Zcidiciiketten ipatiecn Mutcliiuii) 4UB 10.3 Elementare MuHtflraurh-Verfahren _ -507 10.4 Musters null-verfuhren uaih Knu(h, Morris und Prall 411 10.ü Mu5ter5Uch-Verlahron nach Boyor und Moore 416 10.6 MuRtfirsiinh-Vflrfahrpn narh Kahtn nnd Karp,...*,, 421 10.7 Ausblick: EchU- Muster, lekufätt Ausdrucke und endliche Automaten... 425 /ueaminenfaeeung 427 Aufgaben ^... ^... ^. 42fl Teil III Elementare Programmlerparadigmen 431 Kapitel 11 Aufgaben- und moduäorientierte Programmierung 4ij tl,1 l^nrwurf und ItfgAnArhAfran flufgahfinfirinniifirifir fiyiifiniarrrbitokliu'en... 435 11.2 Beispiel ur Voitfulieiisweise bei aüfgüböutiriöiidartec Sysleraentwicklang 439 11.3 Mnilulkiinntrukt - Begriff und Eiganichnfl+m,, - -., 447 11.4 Anwendung des MudiElkunslrukls > 4ä1 Zusammenlassung 46D,, _ 461 Kapitel 12 Daten- und transformationsonentierte Programmierung 40a 12.1 Losungsanaatz hu und Aufbau von Systcmurchilektuctii 15.2 [Irammailkfin?nr l^rhrplhnnß d&i y vun Da.leii»lrünien.,, ITI,..,. FT,H. L,_,» 4fifl 12.3 Konstruktion der Analysaiorkomponciitcn,*,, _,,... 474 12.4 AtlrihutinrtFi Urammatikpn 7iir Hpflrhrpihnng vnn TiänsfuiiiibilitfUipiLiz^dHefi 4Hä 12.5 AJgDtithmi5cbc Inlcrpretation attiibuticrler Crnnunatiken 430 12.fi Elini^I? von ["Inmpilflr-Cflnurfllnrnn 49ü 12./.VOIEOIIBIISI* triitr zur äyältiuüli^iijuuieiitwiiüiuiw dueeiiurieiiiierler PrngraTnmuysrerne 4^B 7A IJ.H rii 1 n F-II fpivui J nj..»..., äüh Aurgaben -.. -,,,-..-,, 501 Kapitel IS Objektorientierte Programmierung 5ft2 13.1 Zieäder objektorieatiertenpi'üftrquuiücruus -. r-..,-.,--.r 5ÜÖ 532 UbjpIdeimdKlafififln r. 5Q7 13.3 Vererbung., t.._..., H13 13.4 Polymorphismus. Klasscngaiantie und

13r3 Siäüscne und dyiittuiibdil 1 Bindung,. r, 519 13.6 Abstrakte Klassen, abstrakte Methoden unrt luaseenbibhofheken. 521 ift.7 SvfilnmatiT.hflr Iftitwnrf objflktoriflnliertpr Systemarchilekturön 52a Zuätiiumciif&ssuiifi 535 Aulgaben.,.,,,,..., R33 Literaturverzeichnis b$7 Namen sregi^ter 547 Register 549