Sortierverfahren. Lernziele

Ähnliche Dokumente
Gruppenunterricht zum Thema: Sortierverfahren. Berufsschule / Gymnasium

9. Übungsserie. Sophia Schumann. Matr. XXX

Teilbarkeitsregeln 3, 6 und 9

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Kleine und große Momente des Glücks. Das komplette Material finden Sie hier:

Algorithmen und Datenstrukturen II. Arne Schmidt Übung #

Fotodoppelseiten Lektion 11: Versäumt

Das ist mein Lieblingsfilm:

Effizienz von Algorithmen

T (n) = max. g(x)=n t(n) S(n) = max. g(x)=n s(n)

Übungsblatt 1. f(n) = f(n) = O(g(n)) g(n) = O(f(n)) Zeigen oder widerlegen Sie: 3 n = Θ(2 n ) Aufgabe 1.2 Gegeben sei die folgende Funktion:

Algorithmen und Datenstrukturen (für ET/IT)

1. Inhaltsverzeichnis

Fotodoppelseiten Lektion 3: Vertrautes

Werkstatt Rechtschreibtraining Dehnungs-h

Kapitel 2. Weitere Beispiele Effizienter Algorithmen

Pisafit Mathematik Klammern. Inhaltsverzeichnis

Bitte füllen Sie den untenstehenden Abschnitt nicht aus

Seminar. Algorithmische Geometrie

1. Asymptotische Notationen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. String Matching 5. Ausgewählte Datenstrukturen

Suchen und Sortieren

24.1 Überblick Beispiele. A. Bestimmen einer ganzrationalen Funktion. 24. Interpolation mit Ableitungen

Datenstrukturen und Algorithmen (SS 2013) Prof. Dr. Leif Kobbelt Thomas Ströder, Fabian Emmes, Sven Middelberg, Michael Kremer

Algorithmen und Datenstrukturen 1 VL Übungstest WS November 2008

Phrasen Lernziel Lerneraktivität Sozialform Medien/Material Lehreraktivität Vor dem Motivation, Hinführung

Aufgabe (Schreibtischtest, lexikographische Ordnung)

Methodensteckbrief: Lapbook

Wir sollen erarbeiten, wie man mit Hilfe der Mondentfernung die Entfernung zur Sonne bestimmen kann.

Bildungskongress Arbeiten mit Kompetenzrastern Erbach. Zusammengestellt im April2016 FBU Nicole Dolpp und Anne Strobel

Einführung in die Informatik I Kapitel II.3: Sortieren

Datenstrukturen und Algorithmen (SS 2013)

Online-Projekte für das Lehrwerk OptimalB1 Kapitel 4. Quartett zu Verbzeiten

Abschnitt 7: Komplexität von imperativen Programmen

Aufbau der Übungsaufgaben zum Lese- und Hörverstehen Leseverstehen Erste Übungsaufgabe Zweite Übungsaufgabe...

Algorithmen und Datenstrukturen 1 Kapitel 5

Heapsort / 1 A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8]

Kommunikation in der Schule: miteinander arbeiten und sprechen

Unsere Schule in Zahlen eine Umfrage durchführen und auswerten. Von Lisa M. D. Polzer, Karlsruhe VORANSICHT

Hinweise und Tipps. Hinweise und Tipps TestDaF-Institut Hagen 2005 Seite 35

Wochenplan im Fach Biologie TF3

2.3.1 Einleitung Einfache Sortierverfahren Höhere Sortierverfahren Komplexität von Sortierverfahren Spezielle Sortierverfahren

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Stationenlernen: Licht und Optik. Das komplette Material finden Sie hier:

2. Hausübung Algorithmen und Datenstrukturen

Präsenzübung Datenstrukturen und Algorithmen SS 2014

Klausur Algorithmen und Datenstrukturen SS August Arbeitszeit 90 min

Schritte plus. Schritte plus 2/10. Schweizmaterialien. Gesundheit. Hinweise für die Kursleitung

Vom Leichtesten zum Schwersten Sortieralgorithmen

Informatik/Biologie. Neuronale Netze: Bugbrain. Arbeits- blatt. Arbeitsblatt 1: Erste Schritte. 12/2003 Nitzsche (OSZ Handel I Berlin)

4 Effizienz und Komplexität 3.1 1

Suchen und Sortieren

Ordnen Sie die folgenden Funktionen nach ihrer asymptotischer Komplexität in aufsteigender Reihenfolge: i=1 4i + n = 4 n. i=1 i + 3n = 4 ( n(n+1)

1. Ist Collection ein spezifischer oder ein allgemeiner Objekttyp? Begründen Sie Ihre Antwort.

Algorithmen und Datenstrukturen 1 VU 6.0 Nachtragstest SS Oktober 2014

Algorithmen und Datenstrukturen

Tutorial für Lehrpersonen In Motion - Technisches Museum Wien

Unterrichtsentwurf Physik

Natürliche Zahlen, Summen und Summenformeln

Feste feiern in Deutschland NEUJAHR

Unterschiedliche Zielarten erfordern. unterschiedliche Coaching-Tools

Algorithmen und Datenstrukturen 1 VL Übungstest WS 2010/ November 2010

DAP2-Klausur

Datenstrukturen und Algorithmen 2. Klausur SS 2001

A0 sort & search Hinweise

Im ersten Schritt erfolgt die Gruppenbildung (Quartett, Farben ziehen, Symbolkärtchen ) der

Netz von Pyramide und Würfel; Anfertigen von Körpern. Schrägbilder zu Pyramide und Würfel erstellen; Parametergleichungen von Geraden aufstellen

Ordnen Sie die folgenden Funktionen nach ihrer asymptotischer Komplexität in aufsteigender Reihenfolge: i=1 4i + n = 4 n. i=1 i + 3n = 4 ( n(n+1)

Informatik II: Algorithmen & Datenstrukturen. Blättern Sie nicht um bevor Sie dazu aufgefordert werden!

Renaissance der Macher.

Übung zu Algorithmen und Datenstrukturen (für ET/IT)

Stationen Geometrische Körper.doc. Station 1

Die Welt der Berufe. Lehrerinformation. Lernziele. Arbeitsmaterialien. Anregungen für den Einsatz

6 1. Aufgabenwerkstatt Kontinente und Ozeane (Prozentrechnen)

Klausur zur Vorlesung Algorithmen und Datenstrukturen

Handbuch ECDL 2003 Professional Modul 3: Kommunikation Aufgaben annehmen und zuweisen

Aufgabe (Schreibtischtest, Algorithmenanalyse)

Stabiles Sortieren. Dieses Prinzip lässt sich natürlich auf beliebiege andere Zahlensystem oder auch komplett anders gestaltete Mengen übertragen.

Mit Dezimalzahlen multiplizieren

Die Regeln für Leichte Sprache

Terme, Rechengesetze, Gleichungen

Übersicht. Datenstrukturen und Algorithmen. Divide-and-Conquer. Übersicht. Vorlesung 9: Quicksort (K7)

Die asymptotische Notation

Algorithmen und Datenstrukturen II

Prozessbegleitung. «Optimierung der Personalressourcen» Praxishandbuch: «Ist-Analyse SWOT-Analyse» Idee. Sie lösen aus.

Das Wort Vektor kommt aus dem lateinischen und heißt so viel wie "Träger" oder "Fahrer".

Feste feiern in Deutschland HOCHZEIT

Kombinatorik: Abzählverfahren (Teschl/Teschl 7) Summenregel. Allgemeiner

Feste feiern in Deutschland NEUJAHR

Grundlagen der Informatik

Björn oder die Hürden der Behörden (D 2001, 15 Minuten)

Orientierungsvorlesung Theoretische Informatik Algorithmen und Kombinatorik Auf der Suche nach schönen Strukturen

Das Bandtagebuch mit EINSHOCH6

Eingangstest Mathematik Jgst.11

13 Berechenbarkeit und Aufwandsabschätzung

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

(08 - Einfache Sortierverfahren)

DENKEN VERSTEHEN LERNEN Computational Thinking in der Grundschule

Anregungen für den Unterricht BAUMHAUSKÖNIGE. Themen. Inhalt BOUWDORP. Niederlande Regie: Margien Rogaar Spielfilm, 87 min Empfohlen ab 9 Jahren

Übung: Algorithmen und Datenstrukturen SS 2007

UNTERRICHTSPLAN LEKTION 18

Kapitel 3: Untere Schranken für algorithmische Probleme Gliederung

Expertenpuzzle Quadratische Funktionen

Transkript:

1 Sortierverfahren Einleitung Wir beschäftigen uns heute mit einfachen Sortierverfahren, also mit algorithmischen Lösungen für das Problem, eine ungeordnete Liste mit gleichartigen Elementen (gleicher Datentyp) in eine geordnete Reihenfolge zu bringen. Für die Lösung des Sortier- Problems gibt es ziemlich viele unterschiedliche Strategien, viel mehr als für die Suche eines Elements in einer Liste. Wir werden uns zunächst mit den drei typischsten Einfachen Verfahren auseinandersetzen und später noch zwei effizientere Herangehensweisen kennen lernen. Arbeitsweise Zunächst wird sich jede(r) von Ihnen mit einem der drei einfachen Sortierverfahren (A, B, oder C) auseinandersetzte, Sie machen sich also zum Experten für dieses Verfahren. Im Anschluss gibt es Aufgaben für Expertengruppen (alle, die sich dasselbe Verfahren angeschaut haben) und welche für Mischgruppen (hier sollte mindestens ein Experte für jedes Verfahren vertreten sein). Es wäre mir lieb, wenn Sie sich an die vorgegebenen Organisationsformen halten würden d.h. zunächst in Einzelarbeit versuchen, den jeweiligen Ansatz zu verstehen und dann gemeinsam in produktiver Gruppenarbeit die schwierigeren Probleme anzugehen. Dazu gehört auch, dass Sie sich die Lösungen tatsächlich selbst erarbeiten Tante Google fragen ist hier weder effizient noch nachhaltig. Falls Sie zu irgendeinem Zeitpunkt Einzeln oder als Gruppe zu dem Ergebnis kommen, dass Sie zusätzliche Information benötigen, dann sehen Sie sich doch bitte im Ordner Zusatzmaterial SuchenUndSortieren um. Hier finden Sie verschiedenen Ressourcen, die ich während der Vorbereitung benutzt oder zumindest konsultiert habe. Wichtig ist allerdings, dass Sie selektiv vorgehen und nur nach Informationen zu einer bestimmten Fragestellung suchen. Lernziele 1. Sie kennen und verstehen drei einfache Sortierverfahren und können die zugrundeliegenden Strategien beschreiben 2. Sie können qualifizierte Aussagen zur (Zeit- )Komplexität der drei Verfahren machen, anhand spezifischer Beispiele und im Allgemeinen Lösungen Bitte halten Sie Ihre Lösungen zu den Aufgaben im folgenden Abschnitt schriftlich fest, entweder elektronisch oder auf Papier. Diese Notizen sind wichtig für Ihre Prüfungsvorbereitung.

2 Aufgaben 1. Im Anhang Strategien finden Sie Beispiele für die Anwendung der drei Sortierverfahren. Sehen Sie sich das Beispiel für Ihr Verfahren genau an und versuchen Sie die dahinterliegende Strategie abzuleiten. a) Formulieren Sie diese extrahierte Strategie zunächst in Stichworten, b) dann übersetzen Sie das Ganze in ein Struktogramm. Tipp: Es könnte helfen, das Verfahren mit umgedrehten Spielkarten nachzuvollziehen. 2. Schauen Sie sich den Java- Code im Anhang Implementationen an. a) Finden Sie heraus, welcher Code zu ihrem Verfahren gehört b) Vergleichen Sie den Code mit Ihrem Struktogramm, verbessern Sie dieses gegebenenfalls c) Beschreiben Sie ihr Verfahren in maximal drei einfachen Sätzen d) Wie viele Vergleiche sind nötig, um die Liste {3,5,1,7,4,6} mit Ihrem Verfahren in aufsteigender Reihenfolge zu sortieren? e) Gibt es neben den Vergleichen noch einen Faktor, der sich auf die asymptotische Laufzeit ( = Zeitkomplexität) Ihres Verfahrens auswirken könnte? Welchen? 3. Überprüfen Sie Ihre bisherigen Ergebnisse mithilfe des Applets xsortlab (http://math.hws.edu/tmcm/java/xsortlab/) a) Wie heisst Ihr Verfahren? 4. Finden Sie sich in Expertengruppen zusammen und stellen Sie sicher, dass Ihre Ergebnisse übereinstimmen. a) Erstellen Sie drei Listen, in denen Sie die Zahlen 1-10 jeweils so anordnen, dass Sie für Ihr Verfahren einen best, worst, oder average case darstellen. Geben Sie jeweils an, wie viele Bearbeitungsschritte nötig sind b) Versuchen Sie gemeinsam, die Zeitkomplexität für Ihr Verfahren abzuschätzen (O- Notation & Begründung der Herleitung) c) Schätzen Sie ab, wie viele Vergleiche für eine zufällig geordnete Liste mit 10000 Elementen nötig sind. Überprüfen Sie Ihr Ergebnis mit xsortlab (Timed Sort) 5. Finden Sie sich in Mischgruppen zusammen und erklären Sie Ihren Mitschülern, was Sie bis jetzt bezüglich Ihres Verfahrens herausgefunden haben. Anschliessend diskutieren Sie, welches der drei Verfahren für zufällig geordnete und sehr lange Listen am effizientesten ist a) Notieren Sie Urteil & Begründung b) Kann die Anwendung eines der weniger effizienten Verfahren manchmal trotzdem sinnvoll sein? Notieren Sie wann und warum 6. Überprüfen Sie ihre Ergebnisse mithilfe dieser Applets: http://www.iti.fh- flensburg.de/lang/algorithmen/sortieren/sortcontest/sortcontest.htm und http://www.gf- webdesign.de/sortieralgorithmen/sortieralgorithmen.htm

EF Informatik, Arbeitsblatt Einfache Sortierverfahren 3 Anhang Strategien Verfahren A Tipp: Wie verändert sich der sortierte Teil jeder Zeile?

EF Informatik, Arbeitsblatt Einfache Sortierverfahren 4 Verfahren B Tipp: Ab welchem Schritt steht welche Karte an der richtigen Position?

5 Verfahren C Tipp: Welche Karten wandern nach rechts und wie weit? (Der Übergang von einer Zeile zur nächsten entspricht hier zwei Schritten des Algorithmus).

6 Anhang Implementationen Code 1

7 Code 2

8 Code 3