Programmierung. Rückblick. VWA - Programmierung Winter Algorithmus. Programmiersprache. Variable. Zuweisung. Bedingung.
|
|
- Maximilian Hausler
- vor 5 Jahren
- Abrufe
Transkript
1 Programmierung 1 Rückblick Algorithmus Programmiersprache Variable Zuweisung Bedingung Schleife (c) Peter Sturm, University of Trier 1
2 3 Aufgabe: Viele, viele bunte Smarties Rechengeschwindigkeit CPU 5 Milliarden Instruktionen pro Sekunde pro Kern Jede Instruktion sei ein Smartie 1cm x 1cm x 0.5cm Tennisfeld 8 Meter x 23 Meter Wie hoch ist der Smarties-Berg? (c) Peter Sturm, University of Trier 2
3 ... und der schnellste Rechner der Welt? Aufgabe: 1x1-Trainer by VWA (c) Peter Sturm, University of Trier 3
4 Auswertung Statistiken Anzahl der Fragen Anzahl der richtigen Antworten Erfolgsquote (Prozentsatz) Abweichung vom Ergebnis Maximal Mittlere Antwortzeit Bestimmen Sie die Zeit für die Antwort Errechnen Sie die mittlere Antwortzeit (c) Peter Sturm, University of Trier 4
5 Zeit in Java Aktuelle Zeit in Millisekunden System.currentTimeMillis(); Eigene Klasse Date (java.util) Array (c) Peter Sturm, University of Trier 5
6 Array (Feld) f Das Array Platz für mehrere Werte Zugriff über den Index f[5] oder f[i] Es beginnt bei 0 und endet bei f.length (c) Peter Sturm, University of Trier 6
7 f Übung macht den Meister (1) int f[] = new int[8]; for (int i=0; i<f.length; i++) f[i] = i; Übung macht den Meister (1) f int f[] = new int[8]; for (int i=0; i<f.length; i++) f[i] = i; (c) Peter Sturm, University of Trier 7
8 Übung macht den Meister (2) f f[6] = f[4]/2; Übung macht den Meister (2) f f[6] = f[4]/2; (c) Peter Sturm, University of Trier 8
9 Übung macht den Meister (3) f int k=f[3]; int m=f[6]; f[f.length-1] = f[k]+f[m]+1; f[0] = f[7]; Übung macht den Meister (3) f int k=f[3]; int m=f[6]; f[f.length-1] = f[k]+f[m]+1; f[0] = f[7]; (c) Peter Sturm, University of Trier 9
10 Übung macht den Meister (4) f for (int i=f.length-1; i>0; i--) { if (f[0]>f[i]) { } int h=f[0]; f[0]=f[i]; f[i]=h; } Übung macht den Meister (4) f for (int i=f.length-1; f>0; f--) { if (f[0]>f[i]) { } int h=f[0]; f[0]=f[i]; f[i]=h; } (c) Peter Sturm, University of Trier 10
11 Aufgabe: Häufigstes Zeichen Strings sind eigentlich auch Arrays statt [] Zugriff über charat() Ermitteln Sie das Zeichen, das in einem eingegebenen String am häufigsten vorkommt! 2 häufigsten Zeichen Häufigstes? Zweithäufigstes? (c) Peter Sturm, University of Trier 11
12 3 häufigsten Zeichen Häufigstes? Zweithäufigstes? Dritthäufigstes? Häufigkeit aller Zeichen Hängt aber davon ab, wie gut Sie mitarbeiten J (c) Peter Sturm, University of Trier 12
13 Aufgabe: n Zahlen Sortieren f Bytes in 1057 Sekunden sortiert Ordnung auch in der größten Unordnung (1999) (c) Peter Sturm, University of Trier 13
14 Die Aufgabe 10 Milliarden Datensätze Datensatz 10 Byte Schlüssel (zufällig verteilt) 90 Byte Zusatzdaten (Erhöhen E/A-Anforderung) Gesamtgröße: 1 Terabyte (1613 randvolle CD-ROM) Eingabe und Ergebnis auf Externspeicher Zeit inkl. Programmstart etc. Na und? Enorme Speichermenge 1 Tbyte = 69 Platten zu 15 Gbyte DM bei 260 DM pro 15 G-Platte (November 1999) Viele Platten!!! Bandbreite zur Platte kritisch Einmal 1 Tbyte lesen: 29 Stunden und 7 Minuten Annahme: 1 Platte, 10 Mbyte/s Durchsatz 1 Tbyte in 17 Minuten lesen: 102 Platten parallel Bandbreitenbegrenzung Platte-Rechner (Bus) Viele Platten parallel an vielen Rechnern!!! (c) Peter Sturm, University of Trier 14
15 Sequentielles Sortieren 1 Millisekunden n Daten im Speicher Zugriffszeit Nanosekunden Beispiel: Quicksort Messung Pentium II, 450 MHz Genügend Hauptspeicher 83 Jahre (linear) (1 Prozessor) 15 Tage (2000 Prozessoren) Komplexität: O ( n log n) Sequentielles Sortieren 2 Hauptspeicher zu klein Daten befinden sich auf Platten Zugriffszeit Millisekunden Daten möglichst selten bewegen Beispiel: Mergesort Parallelitätsgrad sinkt gegen Ende (c) Peter Sturm, University of Trier 15
16 Der Weltrekordrechner Node 32 Bit PCI (33 MHz) / SCSI 9 GByte Platte 332 Mhz 604e 332 Mhz 604e 332 Mhz 604e 332 Mhz 604e 1.5 GByte Hauptspeicher 150 MByte/s Kommunikation (c) Peter Sturm, University of Trier 16
17 Compute Rack Node 8 Node 7 Node 6 Node 5 Node 4 Node 3 Node 2 Node 1 Node 16 Node 15 Node 14 Node 13 Node 12 Node 11 Node 10 Node 9 9 GByte 9 GByte 604e 604e 604e 604e 604e 604e 604e 604e 1.5 GByte Hauptspeicher 1.5 GByte Hauptspeicher 16 mal 150 MBye/s = 2.4 GByte/s Compute Racks Rack 19 Rack 20 Rack 21 Rack 22 Rack 23 Rack 24 Rack 25 Rack 26 Rack 27 Rack 10 Rack 11 Rack 12 Rack 13 Rack 14 Rack 15 Rack 16 Rack 17 Rack 18 Rack 1 Rack 2 Rack 3 Rack 4 Rack 5 Rack 6 Rack 7 Rack 8 Rack 9 (c) Peter Sturm, University of Trier 17
18 Storage Node Node 9 GByte 604e 604e 604e 604e 1.5 GByte Hauptspeicher 4.5 GByte Platten RAID 5 4 Datenplatten 1 Redundante Platte zur Fehlerkorrektur 56 Storage Nodes... zu den Compute Racks (c) Peter Sturm, University of Trier 18
19 In Zahlen Prozessoren 27 mal 16 mal 4 = 1728 Arbeitsprozessoren 56 mal 4 = 224 E/A-Prozessoren 1952 Prozessoren insgesamt Hauptspeicher (27 mal ) mal 1.5 GByte = 732 GByte 1.7 Millionen DM bei 300 DM pro 128 MByte Lokale Platten (27 mal ) mal 9 GByte = 4.2 TByte DM bei 250 DM pro 9 GByte Platte RAID-System 56 mal 6 mal 5 Platten = 1680 Platten 4.5 GByte pro Platte = 7.38 TByte Ergebnis bzgl. E/A-Leistung (c) Peter Sturm, University of Trier 19
20 Wozu? Verarbeitung extrem großer Datenmengen z.b. Indizierung von WWW-Seiten, Statistiken, etc. Streßtest für kommerzielle Hard- und Software Skalierbarkeit, Performance, Zuverlässigkeit,... Wozu? Neue Kenntnisse für zukünftige Produkte Neue Algorithmen, Techniken, Hardware Wissenschaftlicher Wettstreit Mehrere Forschergruppen weltweit (High Performance Computing) Herausforderung, Spaß, Fortschritt (c) Peter Sturm, University of Trier 20
21 2 Dimensionen Bekannt?! (c) Peter Sturm, University of Trier 21
22 Leicht andere Schreibweise int[][] schachbrett = new int[8][8]; Zugriff benötigt 2 Indizes schachbrett[i][j] 7 Beispiel: schachbrett[3][4] Aufgabe: Game of Life Zellulärer Automat (J.H. Conway, 1970) Felder sind leer oder bewohnt Simulationsschritt Lebende Zelle mit weniger als 2 Nachbarn stirbt (Vereinsamung) Lebende Zelle mit 2 oder 3 Nachbarn überlebt Lebende Zelle mit mehr als 3 Nachbarn stirbt (Übervölkerung) Leere Zelle mit genau 3 lebenden Nachbarn wird lebendig (Geburt) (c) Peter Sturm, University of Trier 22
23 Ansatz Hunger? Donut! (c) Peter Sturm, University of Trier 23
24 Matrix Zylinder - Torus (c) Peter Sturm, University of Trier 24
Systemsoftware II Wintersemester 2002/03. Systemsoftware II. 19. Trends Größer, Schneller und Teurer. (c) Peter Sturm, Universität Trier Seite 1
Systemsoftware II 19. Trends 19.1 Größer, Schneller und Teurer (c) Peter Sturm, Universität Trier Seite 1 109.951.162.776 Bytes in 1057 Sekunden sortiert http://www.austin.ibm.com/ Ordnung auch in der
MehrOrganisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download
Organisatorisches Folien (u.a.) gibt's auf der Lva-Homepage zum Download Diesen Mi erstes Tutorium (15-17) Ab nächster Woche montags 10-12 (jeweils im Computerraum) 17.10.2017 IT I - VO 3 1 Organisatorisches
MehrOrganisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online
Organisatorisches Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Nächste Woche VO und UE am Dienstag, den 30.10.! UE im CR IL/IT Wissensüberprüfung am Zettel 25.10.2018 IT I - VO 3 1 Organisatorisches
Mehr> Parallele Systeme Übung: 4. Übungsblatt Philipp Kegel Wintersemester 2012/2013. Parallele und Verteilte Systeme, Institut für Informatik
> Parallele Systeme Übung: 4. Übungsblatt Philipp Kegel Wintersemester 2012/2013 Parallele und Verteilte Systeme, Institut für Informatik Inhaltsverzeichnis 2 1 Besprechung des 4. Übungsblattes Aufgabe
MehrGrundlagen der Programmierung
Grundlagen der Programmierung Dr. Tom Kamphans 1. Vorlesung 12.10.2016 1 Organisatorisches Vorlesung: Mittwochs 14:00 15:30, Raum F 201 Übung: Mittwochs 15:45 19:00, Raum F 225 Übung: alle zwei Wochen
MehrAlgorithmen und Programmierung. Zusatzaufgaben Java Tutorium 1
TU Ilmenau, Fakultät IA FG Telematik/Rechnernetze Prof. Dr.-Ing. G. Schäfer http://www.tu-ilmenau.de/telematik/aup Algorithmen und Programmierung Zusatzaufgaben Java Tutorium 1 Aufgabe 1 (Zeitformatierung)
MehrQuickSort ist ein Sortieralgorithmus, der auf der Idee des Teile & Beherrsche beruht, und das gegebene Array an Ort und Stelle (in place) sortiert
4.3.6 QuickSort QuickSort ist ein Sortieralgorithmus, der auf der Idee des Teile & Beherrsche beruht, und das gegebene Array an Ort und Stelle (in place) sortiert QuickSort teilt das gegebene Array anhand
MehrN Bit Binärzahlen. Stelle: Binär-Digit:
N Bit Binärzahlen N Bit Binärzahlen, Beispiel 16 Bit: Stelle: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Binär-Digit: 0 0 1 0 1 0 0 1 1 1 0 0 1 0 0 0 Least Significant Bit (LSB) und Most Significant Bit (MSB)
MehrADS: Algorithmen und Datenstrukturen
ADS: Algorithmen und Datenstrukturen Teil X Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University of Leipzig 13.
MehrZentralübung Grundlagen der Programmierung
Zentralübung Grundlagen der Programmierung Bastian Cramer Standardbelegungen für Variablen lokale Variablen müssen initialisiert werden! Ansonsten gilt: 2 Aufgabe 1: while Schleife Quersumme einer beliebigen
MehrNaiver Ansatz. Blöcke und Seiten. Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme
Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme Hans-Georg Eßer Hochschule München Teil 3: Zusammenhängende Speicherzuordnung 06/2009 Hans-Georg Eßer Hochschule München
MehrMemory Models Frederik Zipp
Memory Models Frederik Zipp Seminar: Programmiersprachen für Parallele Programmierung (SS 2010) Fakultät für Informatik - IPD SNELTING LEHRSTUHL PROGRAMMIERPARADIGMEN 1
Mehr9. Rekursion. 1 falls n 1 n (n 1)!, andernfalls. Experiment: Die Türme von Hanoi. Links Mitte Rechts. Mathematische Rekursion
Experiment: Die Türme von Hanoi. Rekursion Mathematische Rekursion, Terminierung, der Aufrufstapel, Beispiele, Rekursion vs. Iteration Links Mitte Rechts Mathematische Rekursion Viele mathematische Funktionen
MehrEinleitung. Dr.-Ing. Volkmar Sieh WS 2005/2006. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg
Technologische Trends Historischer Rückblick Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2005/2006 Technologische Trends Historischer Rückblick Übersicht
MehrKapitel 10. Komplexität von Algorithmen und Sortieralgorithmen
Kapitel 10 Komplexität von Algorithmen und Sortieralgorithmen Arrays 1 Ziele Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:
MehrRechnerorganisation. 1. Juni 201 KC Posch
.6.2 Rechnerorganisation. Juni 2 KC Posch .6.2 2 .6.2 Front Side Bus Accelerated Graphics Port 28 MHz Front Side Bus North Bridge RAM idge South Bri IDE USB PCI Bus 3 .6.2 Front Side Bus Front Side Bus
MehrSuchen und Sortieren
Ideen und Konzepte der Informatik Suchen und Sortieren [Ordnung muss sein ] Kurt Mehlhorn (viele Folien von Kostas Panagiotou) Suchen Welche Telefonnummer hat Kurt Mehlhorn? Wie schreibt man das Wort Equivalenz?
MehrOne of the few resources increasing faster than the speed of computer hardware is the amount of data to be processed. Bin Hu
Bin Hu Algorithmen und Datenstrukturen 2 Arbeitsbereich fr Algorithmen und Datenstrukturen Institut fr Computergraphik und Algorithmen Technische Universität Wien One of the few resources increasing faster
MehrÜbung zu Algorithmen und Datenstrukturen (für ET/IT)
Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2017 Rüdiger Göbl, Mai Bui Computer Aided Medical Procedures Technische Universität München Fibonacci Zahlen Fibonacci Folge Die Fibonacci
MehrSuchen und Sortieren
Ideen und Konzepte der Informatik Suchen und Sortieren Ordnung ist das halbe Leben Antonios Antoniadis (Basierend auf Folien von Kurt Mehlhorn und Konstantinos Panagiotou) 6. November 2017 6. November
MehrÜbersicht. Einleitung. Übersicht. Architektur. Dr.-Ing. Volkmar Sieh WS 2008/2009
Übersicht Einleitung 1 Einleitung Dr.-Ing. Volkmar Sieh 2 Technologische Trends Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009 3 Historischer
MehrEinleitung. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2006/2007
Einleitung Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2006/2007 Einleitung 1/50 2006/10/09 Übersicht 1 Einleitung 2 Technologische
MehrKapitel 9. Komplexität von Algorithmen und Sortieralgorithmen
1 Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Ziele 2 Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:
MehrAusgabe:
Aufgabe 2.10: Schreiben Sie ein Programm, das zunächst die Quadratzahlen zu den Zahlen 1-10 mit Hilfe einer While- Schleife und danach die Quadratzahlen zu den Zahlen 3, 6, 9,.., 30 mit Hilfe einer For-Schleife
MehrEinführung in die Informatik 2
Einführung in die Informatik 2 Suchen in Datenmengen Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v.
MehrKapitel 2. Weitere Beispiele Effizienter Algorithmen
Kapitel 2 Weitere Beispiele Effizienter Algorithmen Sequentielle Suche Gegeben: Array a[1..n] Suche in a nach Element x Ohne weitere Zusatzinformationen: Sequentielle Suche a[1] a[2] a[3] Laufzeit: n Schritte
MehrProgrammiertechnik II
Sortieren: Einfache Algorithmen Sortieren Abstrakte Operation geg: Menge von items (Elemente) jedes Element besitzt Sortierschlüssel Schlüssel unterliegen einer Ordnung eventuell sind doppelte Schlüssel
MehrKapitel 6 Anfragebearbeitung
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Skript zur Vorlesung: Datenbanksysteme II Sommersemester 2014 Kapitel 6 Anfragebearbeitung Vorlesung: PD Dr. Peer Kröger
MehrChristoph Niederseer, Michaela Mayr, Alexander Aichinger, Fabian Küppers. Wissenschaftl. Arbeitstechniken und Präsentation
Christoph Niederseer, Michaela Mayr, Alexander Aichinger, Fabian Küppers 1. Was ist paralleles Programmieren 2. Bitoner Sortieralgorithmus 3. Quicksort a) sequenzielles Quicksort b) paralleles Quicksort
MehrKapitel 9. Komplexität von Algorithmen und Sortieralgorithmen
Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Arrays 1 Ziele Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:
MehrZeitkomplexität beim Suchen und Sortieren
Zeitkomplexität beim Suchen und Sortieren Thomas Schwotzer 1 Einführung Programmieren bedeutet nahezu immer Algorithmen schreiben. Die Algorithmen, die wir entwickeln arbeiten mit Daten. Wir testen die
MehrIn heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher
Speicherhierarchie In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher Register Speicherzellen, direkt mit der Recheneinheit verbunden Cache-Speicher Puffer-Speicher
MehrEinführung in die Programmierung für NF MI. Übung 04
Einführung in die Programmierung für NF MI Übung 04 Inhalt Arrays Einführung in Objekte Einführung in die Programmierung für NF Übung 04 2 Arrays Arrays repräsentieren Reihungen von Objekten, z.b. Variablen
MehrMehrdimensionale Arrays
Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil X Michael Roth (h_da) Informatik (CT) WS 2012/2013
MehrUE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 3
UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 3 Algorithmen mit Gedächtnis Besonderheit Beispiele Typische Algorithmen Realisierungsvarianten Institut für Pervasive Computing Johannes
Mehr. Die obige Beschreibung der Laufzeit für ein bestimmtes k können wir also erweitern und erhalten die folgende Gleichung für den mittleren Fall:
Laufzeit von Quicksort im Mittel. Wir wollen die erwartete Effizienz von Quicksort ermitteln. Wir nehmen an, die Wahrscheinlichkeit, dass das gewählte Pivot-Element a j das k-t kleinste Element der Folge
MehrDynamische Datenstrukturen
Dynamische Datenstrukturen B-Bäume größere Datenmengen verwalten Extern speichern Art der Speicherung berücksichtigen sonst kein optimaler Datenzugriff möglich Art der Speicherung großer Datenmengen Magnetplatten
MehrKapitel 3. Speicherhierachie. Beispiel für Cache Effekte. Motivation Externspeicheralgorithmen. Motivation Für Beachtung von Cache Effekten
Kapitel 3 Algorithmen für große Datenmengen Motivation Externspeicheralgorithmen Es werden immer größere Datenmengen gesammelt (WWW, Medizin, Gentechnik ) Daten müssen auf großen externen Massenspeichern
MehrFormaler. Gegeben: Elementfolge s = e 1,...,e n. s ist Permutation von s e 1 e n für eine lineare Ordnung ` '
Sortieren & Co 164 165 Formaler Gegeben: Elementfolge s = e 1,...,e n Gesucht: s = e 1,...,e n mit s ist Permutation von s e 1 e n für eine lineare Ordnung ` ' 166 Anwendungsbeispiele Allgemein: Vorverarbeitung
MehrMartin Unold INFORMATIK. Geoinformatik und Vermessung
Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Welche Arten von Anweisungen gibt es? Anweisungen
MehrSuchen und Sortieren
Ideen und Konzepte der Informatik [Ordnung ist das halbe Leben] Kurt Mehlhorn (viele Folien von Kostas Panagiotou) Suchen Welche Telefonnummer hat Kurt Mehlhorn? Wie schreibt man das Wort Gerechtigkeit?
MehrJava Referenzdatentypen genauer betrachtet
Informatik 1 für Nebenfachstudierende Grundmodul Java Referenzdatentypen genauer betrachtet Kai-Steffen Hielscher Folienversion: 23. Januar 2018 Informatik 7 Rechnernetze und Kommunikationssysteme Referenzdatentypen
MehrGrundlagen der Programmierung
Grundlagen der Programmierung Einführung in die strukturierte Programmierung Teil 5 Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile
MehrRechnerstrukturen. 6. System. Systemebene. Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1. Prozessor.
Rechnerstrukturen 6. System Systemebene 1 (Monoprozessor) 2-n n (Multiprozessor) s L1- in der L2- ( oder Motherboard) ggf. L3- MMU Speicher Memory Controller (Refresh etc.) E/A-Geräte (c) Peter Sturm,
MehrEinstieg in die Informatik mit Java
1 / 31 Einstieg in die Informatik mit Java Effizienz Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 31 1 Überlegungen zur Effizienz 2 Landau-Symbole 3 Eier im Korb 4 Zyklische
MehrInformatik I Komplexität von Algorithmen
Leistungsverhalten von Algorithmen Informatik I Komplexität von Algorithmen G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Speicherplatzkomplexität: Wird primärer & sekundärer Speicherplatz
Mehr1 Bizz Buzz Woof (ca =18 Punkte) def read file(file_in): fp = open(file_in, r ) l = fp.read() fp.close() return l
Einführung in die wissenschaftliche Programmierung Klausur 1. März 2010 Seite 1/7 Name, Vorname, Unterschrift: Matrikelnummer: 1 Bizz Buzz Woof (ca. 3+9+6=18 Punkte) In dieser Aufgabe sollen Zahlen codiert
MehrInformatik II. Woche 15, Giuseppe Accaputo
Informatik II Woche 15, 13.04.2017 Giuseppe Accaputo g@accaputo.ch 1 Themenübersicht Repetition: Pass by Value & Referenzen allgemein Repetition: Asymptotische Komplexität Live-Programmierung Aufgabe 7.1
MehrTechnische Informatik 1 - HS 2017
Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik 1 - HS 2017 Übung 11 Datum: 21. 22. 12. 2017 Virtueller Speicher 1 Performanz Gehen Sie von einem virtuellen
MehrGI Vektoren
Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung
MehrInstitut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke
Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie
MehrDaten suchen und durchsuchen. Programmieren und Problemlösen Daten suchen und durchsuchen, weiterführende Komplexitätstheorie
Daten suchen und durchsuchen Lineare Suche Dennis Komm Programmieren und Problemlösen Daten suchen und durchsuchen, weiterführende Komplexitätstheorie Frühling 2019 1. April 2019 Lineare Suche Einfachste
MehrProgrammieren und Problemlösen
Dennis Komm Programmieren und Problemlösen Komplexität von Algorithmen Frühling 2019 27. Februar 2019 Komplexität von Algorithmen Aufgabe Primzahltest Schreibe ein Programm, das eine ganze Zahl x als Eingabe
MehrGPGPU Basiskonzepte. von Marc Kirchhoff GPGPU Basiskonzepte 1
GPGPU Basiskonzepte von Marc Kirchhoff 29.05.2006 GPGPU Basiskonzepte 1 Inhalt Warum GPGPU Streams, Kernels und Prozessoren Datenstrukturen Algorithmen 29.05.2006 GPGPU Basiskonzepte 2 Warum GPGPU? Performance
MehrHigh-Performance Bildverarbeitung (nicht nur) mit JAVA. Prof. Dr.Thomas Netzsch - Hochschule Darmstadt - University of Applied Sciences
High-Performance Bildverarbeitung (nicht nur) mit JAVA 1 High-Performance Bildverarbeitung (nicht nur) mit JAVA Fragen: wie kann ein typisches BV-Unternehmen wirtschaftlich an der aktuellen Hardwareentwicklung
MehrRechnerstrukturen Winter EINFÜHRUNG. (c) Peter Sturm, University of Trier 1
1. EINFÜHRUNG (c) Peter Sturm, University of Trier 1 Teilnehmer Vorlesung für Bachelor- InformaFk Vorlesungszeiten MiIwochs, 12.30 14.00 Uhr, Hörsaal H7 ÜbungsbläIer wird in der Vorlesung besprochen Übungen
MehrDer neue Hessische Hochleistungsrechner HHLR
Der neue Hessische Hochleistungsrechner HHLR Erste Erfahrungen Norbert Conrad, conrad@hrz.tu-darmstadt.de ZKIHessen 26.8.2002 1 Darmstädter Hochleistungsrechner 1987: IBM 3090 VF ( 2 x 0,12 GFLOPS Vektor
MehrInformatik II, SS 2016
Informatik II - SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 2 (22.4.2016) Sortieren II Algorithmen und Komplexität SelectionSort: Programm Schreiben wir doch das gleich mal als Java/C++ - Programm
MehrVorkurs Informatik WiSe 17/18
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017
MehrInformatik II Sortieren
lausthal Sortieralgorithmen Informatik II Sortieren Preprocessing fürs Suchen sind für kommerzielle Anwendungen häufig die Programmteile, die die meiste Rechenzeit verbrauchen viele raffinierte Methoden
MehrInformatik II Sortieren
lausthal Informatik II Sortieren. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Sortieralgorithmen Preprocessing fürs Suchen sind für kommerzielle Anwendungen häufig die Programmteile, die
MehrAbschnitt 7: Komplexität von imperativen Programmen
Abschnitt 7: Komplexität von imperativen Programmen 7. Komplexität von imperativen Programmen 7 Komplexität von imperativen Programmen Einf. Progr. (WS 08/09) 399 Ressourcenbedarf von Algorithmen Algorithmen
MehrGrundlagen der Rechnerarchitektur. Ein und Ausgabe
Grundlagen der Rechnerarchitektur Ein und Ausgabe Übersicht Grundbegriffe Hard Disks und Flash RAM Zugriff auf IO Geräte RAID Systeme SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 2 Grundbegriffe
MehrEinstieg in die Informatik mit Java
1 / 32 Einstieg in die Informatik mit Java Effizienz Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 32 1 Überblick: was ist Effizienz? 2 Landau-Symbole 3 Eier im Korb 4
MehrAlgorithms & Data Structures 2
Algorithms & Data Structures Digital Sorting WS B. Anzengruber-Tanase (Institute for Pervasive Computing, JKU Linz) (Institute for Pervasive Computing, JKU Linz) WIEDERHOLUNG :: UNTERE SCHRANKE FÜR SORTIEREN
MehrAlgorithm Engineering XXL
PG 503 XAVER Algorithm Engineering XXL Veranstalter: Markus Chimani Carsten Gutwenger Karsten Klein LS 11: Algorithm Engineering Prof. Dr. Petra Mutzel Algorithm Engineering Klassische Algorithmik einfaches
MehrHeapsort. Erstellung eines Heaps
Heapsort Beispiel für einen eleganten Algorithmus, der auf einer effizienten Datenstruktur (dem Heap) beruht [Williams, 1964] Daten liegen in einem Array der Länge n vor 1. Erstelle aus dem gegebenen Array
MehrHeapsort. 1. Erstelle aus dem gegebenen Array einen Heap (DownHeap) 2. Tausche erstes und letztes Element des Arrays
Heapsort Beispiel für einen eleganten Algorithmus, der auf einer effizienten Datenstruktur (dem Heap) beruht [Williams, 1964] Daten liegen in einem Array der Länge n vor 1. Erstelle aus dem gegebenen Array
MehrCPU, GPU und FPGA. CPU, GPU und FPGA Maximilian Bandle, Bianca Forkel 21. November 2017
CPU, GPU und FPGA, Bianca Forkel 21. November 2017 CPU, GPU und FPGA Inhalt CPU: Central Processing Unit GPU: Graphical Processing Unit FPGA: Field Programmable Gate Array 2 CPU Central Processing Unit
MehrEin- und Ausgabegeräte
Blockorientiert Jeder Block kann unabhängig gelesen und geschrieben werden. Festplatten, CD-ROMs, USB-Sticks, etc. Zeichenorientiert Keine Struktur, nicht adressierbar, Daten werden als Folge von Zeichen
Mehr(Digital) Sorting. October 25, Algorithms & Datastructures 2 Exercises WS 2016
(Digital) Sorting October 2, 2016 Algorithms & Datastructures 2 Exercises WS 2016 Dipl.-Ing. University Linz, Institute for Pervasive Computing Altenberger Straße 69, A-4040 Linz kurz@pervasive.jku.at
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Sortieren fortgesetzt Maike Buchin 16.5.2017 5.6 Brechen der Unteren Schranke nur Vergleichen erlauben keine Algorithmen mit Laufzeit schneller als O(n log n) stattdessen: Struktur
MehrThemenübersicht Verwendung im Studium Voraussetzungen Ziele Website zum Buch Danksagungen... 21
Vorwort 15 Themenübersicht... 15 Verwendung im Studium... 17 Voraussetzungen... 18 Ziele.... 19 Website zum Buch... 20 Danksagungen... 21 Vorwort zur deutschen Ausgabe 22 Übersetzung... 22 Verwendung in
MehrRechnerstrukturen Winter EINFÜHRUNG. (c) Peter Sturm, University of Trier 1
1. EINFÜHRUNG (c) Peter Sturm, University of Trier 1 Teilnehmer Vorlesung für Bachelor- Informatik Vorlesungszeiten Montags, 12.30 14.00 Uhr, Hörsaal HS13 Übungen und Übungsblätter Wöchentlich Blog Asysob
MehrFallstudie: Online-Statistik
Fallstudie: Online-Statistik Ziel: Klasse / Objekt, welches Daten konsumiert und zu jeder Zeit Statistiken, z.b. Mittelwert, Varianz, Median (etc.) ausgeben kann Statistics s = new Statistics(maxSize);...
MehrGrundlagen der Rechnerarchitektur. Einführung
Grundlagen der Rechnerarchitektur Einführung Unsere erste Amtshandlung: Wir schrauben einen Rechner auf Grundlagen der Rechnerarchitektur Einführung 2 Vorlesungsinhalte Binäre Arithmetik MIPS Assembler
MehrGrundlagen der Rechnerarchitektur. Speicher
Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie
MehrVorkurs Informatik WiSe 16/17
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016
Mehr1. Teilklausur. Name:... Vorname:... Matrikel-Nummer:...
ALP II Objektorientierte Programmierung SS 2012 Prof. Dr. Margarita Esponda 1. Teilklausur Name:... Vorname:... Matrikel-Nummer:... Ich bin mit der Veröffentlichung der Klausurergebnisse mit Matrikel-Nummer
MehrKapitel 1 Parallele Modelle Wie rechnet man parallel?
PRAM- PRAM- DAG- R UND R Coles und Kapitel 1 Wie rechnet man parallel? Vorlesung Theorie Paralleler und Verteilter Systeme vom 11. April 2008 der Das DAG- Das PRAM- Das werkmodell Institut für Theoretische
MehrInhaltsverzeichnis. Teil 1 Grundlagen 21. Teil 2 Datenstrukturen 85
Inhaltsverzeichnis Vorwort 13 Umfang 14 Einsatz als Unterrichtsmittel 14 Algorithmen mit Praxisbezug 15 Programmiersprache 16 Danksagung 17 Vorwort des Java-Beraters 18 Hinweise zu den Übungen 19 Teil
MehrAlgorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik Was ist ein Algorithmus? Ein Algorithmus ist eine eindeutige Handlungsvorschrift, [bestehend] aus endlich vielen, wohldefinierten
MehrGrundlagen der Programmierung
Grundlagen der Programmierung Algorithmen und Datenstrukturen Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile direkt aus der Vorlesung
MehrInhaltsverzeichnis. Teil 1 Grundlagen 23
Inhaltsverzeichnis Vorwort 11 Umfang 12 Einsatz als Unterrichtsmittel 12 Algorithmen mit Praxisbezug 13 Programmiersprache 14 Danksagung 15 Vorwort des C++-Beraters 16 Hinweise zu den Übungen 21 Teil 1
MehrSuchen und Sortieren
Suchen und Sortieren Suchen Sortieren Mischen Zeitmessungen Bewertung von Sortier-Verfahren Seite 1 Suchverfahren Begriffe Suchen = Bestimmen der Position (Adresse) eines Wertes in einer Datenfolge Sequentielles
Mehr3. Suchen. Das Suchproblem. Suche in Array. Lineare Suche. 1 n. i = n Gegeben Menge von Datensätzen.
Das Suchproblem Gegeben Menge von Datensätzen. 3. Suchen Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle Jeder Datensatz hat einen Schlüssel k. Schlüssel sind vergleichbar: eindeutige Antwort auf
MehrPräfix-Summe. Das Schweizer Offiziersmesser der Parallelen Algorithmen. Parallele Rechenmodelle Präfix-Summe Brents Lemma Anwendungen
Präfix-Summe Das Schweizer Offiziersmesser der Parallelen Algorithmen Parallele Rechenmodelle Präfix-Summe Brents Lemma Anwendungen Parallele Rechenmodelle Beispiel: Summieren von Zahlen Verlauf des Rechenprozesses:
MehrAlgorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems
4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um
MehrFelder. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom
Einstieg in die Informatik mit Java, Vorlesung vom 9.5.07 Übersicht 1 Was sind? 2 Vereinbarung von n 3 Erzeugen von n 4 Zugriff auf Feldkomponenten 5 Mehrdimensionale 6 als Objekte, Referenzen Kopieren
MehrComputergrundlagen Moderne Rechnerarchitekturen
Aufbau eines modernen Computers Computergrundlagen Moderne Rechnerarchitekturen Axel Arnold Institut für Computerphysik Universität Stuttgart DDR3- Speicher Prozessor Prozessor PEG Graphikkarte(n) weitere
MehrAlgorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems
4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um
Mehr4. Algorithmen und Datenstrukturen I Grundlagen der Programmierung 1 (Java)
4. Algorithmen und Datenstrukturen I Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 8./15. November 2005 Einordnung
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative
Mehr