Algorithmen und Datenstrukturen : eine Einführung mit Java Intro I Grundlegende Konzepte Vorbemerkungen und Überblick Informatik Algorithmen und Datenstrukturen Historischer Überblick: Algorithmen Historie von Programmiersprachen und Java Grundkonzepte der Programmierung in Java Algorithmische Grundkonzepte Intuitiver Algorithmusbegriff Beispiele für Algorithmen Bausteine für Algorithmen Pseudocode Notation für Algorithmen Struktogramme Rekursion Sprachen und Grammatiken Begriffsbildung Reguläre Ausdrücke Backus Naur Form (BNF) Elementare Datentypen Datentypen als Algebren Signaturen von Datentypen Der Datentyp bool Der Datentyp integer Felder und Zeichenketten Terme Bildung von Termen Algorithmus zur Termauswertung Datentypen in Java Primitive Datentypen Referenzdatentypen Operatoren Algorithmenparadigmen Überblick über Algorithmenparadigmen Applikative Algorithmen Terme mit Unbestimmten Funktionsdefinitionen Auswertung von Funktionen Erweiterung der Funktionsdefinition Applikative Algorithmen Beispiele für applikative Algorithmen Imperative Algorithmen Grundlagen imperativer Algorithmen Komplexe Anweisungen Beispiele für imperative Algorithmen Das logische Paradigma Logik der Fakten und Regeln Deduktive Algorithmen Weitere Paradigmen Genetische Algorithmen Neuronale Netze Umsetzung in Java Ausdrücke und Anweisungen Methoden Applikative Algorithmen und Rekursion Literaturhinweise zum Teil I II Algorithmen Ausgewählte Algorithmen Suchen in sortierten Folgen Sequenzielle Suche Binäre Suche Sortieren Sortieren: Grundbegriffe Sortieren durch Einfügen Sortieren durch Selektion Sortieren durch Vertauschen: BubbleSort Sortieren durch Mischen: MergeSort QuickSort Sortieren durch Verteilen: RadixSort.