Kapiteltests zum Leitprogramm Binäre Suchbäume



Ähnliche Dokumente
Idee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10

Binäre Suchbäume. Ein Leitprogramm von Timur Erdag und Björn Steffen

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

Tutorium Algorithmen & Datenstrukturen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Datenstrukturen & Algorithmen

Algorithmik II. a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge 20, 28, 35, 31, 9, 4, 13, 17, 37, 25 ein.

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

1 topologisches Sortieren

Algorithmen und Datenstrukturen

Folge 19 - Bäume Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN

13. Binäre Suchbäume

Binäre Bäume Darstellung und Traversierung

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

368 4 Algorithmen und Datenstrukturen

Suchbäume. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Grundlagen der Theoretischen Informatik, SoSe 2008

Datenstrukturen und Algorithmen

LSF-Anleitung für Studierende

Algorithmen und Datenstrukturen Suchbaum

Kapitel 5: Dynamisches Programmieren Gliederung

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Zeichen bei Zahlen entschlüsseln

Leichte-Sprache-Bilder

Beispiel zu Datenstrukturen

Kurzanleitung MAN E-Learning (WBT)

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Anwendungsbeispiele Buchhaltung

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Bedienungsanleitung für den Online-Shop

Nachtrag zu binären Suchbäumen

Summenbildung in Bauteiltabellen mit If Then Abfrage

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Kurs 1613 Einführung in die imperative Programmierung

Konzepte der Informatik

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

EndTermTest PROGALGO WS1516 A

Algorithmen & Datenstrukturen 1. Klausur

Name:... Vorname:... Matrikel-Nr.:... Unterschrift:...

Kap. 4.2: Binäre Suchbäume

Anmerkungen zur Übergangsprüfung

Multicheck Schülerumfrage 2013

WS 2009/10. Diskrete Strukturen

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Daten sammeln, darstellen, auswerten

Prüfung: Vorlesung Finanzierungstheorie und Wertpapiermanagement

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Sage Start Einrichten des Kontenplans Anleitung. Ab Version

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Programmiertechnik II

Carl-Orff-Realschule plus

WinWerk. Prozess 4 Akonto. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

Hilfe zur Urlaubsplanung und Zeiterfassung

Der Kalender im ipad

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Repetitionsaufgaben Wurzelgleichungen

Die Dateiablage Der Weg zur Dateiablage

Papierverbrauch im Jahr 2000

Erstellen von x-y-diagrammen in OpenOffice.calc

HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN

AVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl:

Online Schulung Anmerkungen zur Durchführung

Internet Explorer Version 6

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Kulturobjekte der Donau Das ContentManagementSystem (CMS)

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Excel Pivot-Tabellen 2010 effektiv

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1

Informationsblatt Induktionsbeweis

Teil 1: IT- und Medientechnik

Whitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager -rückläufer Script. combit GmbH Untere Laube Konstanz

Sicherheitseinstellungen... 2 Pop-up-Fenster erlauben... 3

Urlaubsregel in David

Um sich zu registrieren, öffnen Sie die Internetseite und wählen Sie dort rechts oben

Anleitung über den Umgang mit Schildern

Bearbeitungshinweise. (20 Punkte)

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Hilfedatei der Oden$-Börse Stand Juni 2014

Rekursionen. Georg Anegg 25. November Methoden und Techniken an Beispielen erklärt

Sollsaldo und Habensaldo

Herstellen von Symbolen mit Corel Draw ab Version 9

ClubWebMan Veranstaltungskalender

Was meinen die Leute eigentlich mit: Grexit?

Dokumentation für das Spiel Pong

Tipps & Tricks im CRM

Anleitung zum School Education Gateway

Das Schulsystem in Deutschland (Band 2, Lektion 1)

Erstellen einer digitalen Signatur für Adobe-Formulare

1 Einleitung. Lernziele. Dokumente vergleichen. Änderungen mit Überarbeitungsfenster bearbeiten Lerndauer. 4 Minuten.

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office

Grundfunktionen und Bedienung

Stud.IP. Inhalt. Rechenzentrum. Vorgehen zur Eintragung in Veranstaltungen / Gruppen. Stand: Januar 2015

Transkript:

Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class

Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm richtet sich an Studierende an einer Fachhochschule im 2. Semester des Informatik- oder Elektrotechnikstudiums. Vorkenntnisse Die Leser und Leserinnen beherrschen die wesentlichen Aspekte einer Programmiersprache. kennen das Konzept der verketteten Liste. verstehen die Rekursion und deren Anwendung. Dauer Für die vollständige Bearbeitung des Leitprogramms werden ungefähr 6 8 Stunden benötigt. Betreuerin und Überarbeitung Christina Class Autoren Björn Steffen Timur Erdag 1. April 28 Nutzungsrechte Die ETH stellt dieses Leitprogramm zur Förderung des Unterrichts interessierten Lehrkräften oder Institutionen zur internen Nutzung kostenlos zur Verfügung. 2

2 Bäume Aufgabe 2.1 Wie viele Knotentypen kennen Sie? Zählen Sie sie auf und beschreiben Sie sie. Aufgabe 2.2 Geben Sie den Namen aller Komponente im folgenden Baum an: a b c d e f g h Aufgabe 2.3 Gegeben sei der Baum aus Aufgabe 2.2. Geben Sie für jeden Knoten die Tiefe und den Grad an. Aufgabe 2.4 Zeichnen Sie im Baum der Aufgabe 2.2 die Niveaus ein und bestimmen Sie die Höhe des Baumes. Aufgabe 2.5 Welche Aussage können Sie über die Ordnung des Baumes in Aufgabe 2.2 machen? Begründen Sie. Aufgabe 2.6 Der Baum in Aufgabe 2.2 ist nicht ausgefüllt. Erklären Sie warum. 3

3 Binärbäume Aufgabe 3.1 Gegeben ist der folgenden Binärbaum. Geben Sie die Preorder-, Postorder- und Inorder-Reihenfolge der Knoten an. 1 2 5 3 7 6 4 8 9 Aufgabe 3.2 Zeichnen Sie einen Binärbaum mit den folgenden Eigenschaften: Jeder Knoten speichert einen Buchstaben. Die Preorder-Reihenfolge der Knoten des Baumes ist: ÜBUNGEN. Die Inorder-Reihenfolge lautet: NUGBEÜN. 5

Aufgabe 3.3 Gegeben sei der folgende Baum, der die Struktur der Kapitel und Abschnitte eines Dokuments zeigt. Dokument Titel Einleitung Kapitel 1 Kapitel 2 Schluss Abs. 1.1 Abs. 1.2 Abs. 2.1 Abs. 2.2 Abs. 2.1.1 Abs. 2.1.2 Schreiben Sie eine Algorithmus in Pseudocode der für den gezeigten Baum die folgende Ausgabe liefert: Dokument Titel Einleitung Kapitel 1 Abschnitt 1.1 Abschnitt 1.2 Kapitel 2 Abschnitt 2.1 Abschnitt 2. 1. 1 Avschnitt 2. 1. 2 Abschnitt 2.2 Schluss 6

Aufgabe 3.4 Die Pfadlänge eines Baumes B ist gegeben durch die Summe der Tiefen aller Knoten des Baumes. Pfadlänge = v B depth(v) Vervollständigen Sie den folgenden Algorithmus der die Pfadlänge eines Binärbaumes in einem Durchlauf berechnet. Das heisst, jeder Knoten darf dabei nur einmal besucht werden. 1: algorithm pathlength(v) {Berechnet die Pfadlänge des Baumes mit Wurzel v} 2: return pathlengthinternal(v,... ) 3: end algorithm 4: algorithm pathlengthinternal(v, t) {Berechnet die Pfadlänge des Teilbaumes mit Wurzel v auf Tiefe t} 5:... 6: return... 7: end algorithm 7

4 Binäre Suchbäume Aufgabe 4.1 Zählen Sie die zwei Eigenschaften auf, welche einen Binärbaum zu einem binären Suchbaum macht. Aufgabe 4.2 Entscheiden Sie, ob folgende drei Bäume korrekte binäre Suchbäume sind und begründen Sie: 33 a 27 b 9 g 1 c 4 d 5 h 16 i 29 e 57 f 3 j 7 k 12 l 19 m n 14 o 18 p Aufgabe 4.3 Fügen Sie die folgenden Knoten in der gegebenen Reihenfolge ein. Ausgangslage ist ein leerer Baum: Reihenfolge Knoten Schlüssel 1. a 27 2. b 17 3. c 37 4. d 21 5. e 43 6. f 2 7. g 17 8. h 9

Aufgabe 4.4 Gegeben ist folgender Baum: 15 a 1 b 58 c 5 d 7 e 27 f 24 g 48 h 21 i 33 j 5 k 18 l 23 m 55 n Entfernen Sie nun die Knoten in der gegebenen Reihenfolge: a, c, n, h, l, b, d, g. Geben Sie jedoch auch hier zuerst an, welchen Fall Sie benutzen. 1

5 Balancierte Suchbäume Aufgabe 5.1 Zeichnen Sie einen binären Suchbaum mit den folgenden Schlüsseln: 3, 5, 8, 13, 18, 24, 27, 34, 45, 48, 51, 63, 67 Der Suchbaum sollte so ausgeglichen wie möglich sein. Beschreiben Sie kurz, wie Sie vorgehen um den Suchbaum zu zeichnen. Aufgabe 5.2 Zeichnen Sie beim folgenden Binärbaum die Balancefaktoren aller Knoten ein und bestimmen Sie, ob diese ausgeglichen sind. Ist der Baum AVL-ausgeglichen? 11

Aufgabe 5.3 Bestimmen Sie die Balancefaktoren aller Knoten des folgenden Suchbaumes. Handelt es sich um einen AVL-Baum? 44 17 78 12 32 5 98 18 45 62 82 99 47 71 79 86 12

A Lösungen zum Kapitel 2 Lösung zur Aufgabe 2.1 i. Wurzel: In jedem Baum (ausser dem leeren Baum) steht sie zuoberst und hat dementsprechend keinen Vaterknoten. ii. Blatt: Knoten ohne Kinder. iii. Innerer Knoten: Jeder Knoten, welcher mindestens ein Kind hat. Lösung zur Aufgabe 2.2 Sie sehen in folgender Tabelle die Lösung. Die Kanten werden hier nicht erwähnt. Knoten Wurzel Blatt inner Knoten a x x b x c x d x e x f x g x h x Lösung zur Aufgabe 2.3 Die Tiefe und der Grad der einzelnen Knoten stehen in folgender Tabelle: Knoten Grad Tiefe a 2 1 b 3 2 c 1 d 3 e 1 f g h 4 Lösung zur Aufgabe 2.4 Die Niveaus und die Höhe sind im folgendem Baum eingezeichnet: 13

a 1 b c 2 d e f g 3 Höhe = 4 h 4 Lösung zur Aufgabe 2.5 Der Baum muss mindestens Ordnung 3 haben, da Knoten b den grössten Grad (3) hat. Lösung zur Aufgabe 2.6 Annahme: Dieser Baum hat Ordnung 3. Dann haben die Knoten a, c und e zu wenig Kinder. Sie müssten je 3 Kinder haben, damit dieser Baum ausgefüllt wäre. Bei jeder höheren Ordnung hätten alle inneren Knoten zu wenig Kinder. 14

B Lösungen zum Kapitel 3 Lösung zur Aufgabe 3.1 Preorder: 1 2 3 4 5 7 8 9 6 Postorder: 4 3 2 8 9 7 6 5 1 Inorder: 2 4 3 1 8 7 9 5 6 Lösung zur Aufgabe 3.2 Der gesuchte Binärbaum sieht folgerndermassen aus: Ü B N U E N G Lösung zur Aufgabe 3.3 Die Preoder-Reihenfolge bringt das gewünschte Resultat. 1: algorithm preorder(v) 2: {Durchläuft alle Knoten des Binärbaumes mit Wurzel v in der Preorder- Reihenfolge} 3: if v null then 4: Besuche den Knoten v { } 5: preorder( left(v) ) 6: preorder( right(v) ) 7: end if 8: end algorithm 15

Lösung zur Aufgabe 3.4 Der Algorithmus ist gegeben durch: 1: algorithm pathlength(v) 2: return pathlengthinternal(v, 1) 3: end algorithm 4: algorithm pathlengthinternal(v, t) 5: sum 6: sum sum + pathlengthinternal(lef t(v), t + 1) 7: sum sum + pathlengthinternal(right(v), t + 1) 8: return sum + l 9: end algorithm 16

C Lösungen zum Kapitel 4 Lösung zur Aufgabe 4.1 Jeder Schlüssel im linken Teilbaum eines Knotens ist kleiner als der Schlüssel im Knoten selbst. Jeder Schlüssel im rechten Teilbaum eines Knotens ist grösser als oder gleich dem Schlüssel im Knoten selbst. Lösung zur Aufgabe 4.2 Die zwei Bäume links und in der Mitte sind korrekte binäre Suchbäume. Der Baum rechts hingegen ist aus zwei Gründen kein binärer Suchbaum: Sowohl Knoten n als auch Knoten p sind an der falschen Stelle. Lösung zur Aufgabe 4.3 So sollte Ihr Baum nun aussehen: 27 a 17 b 37 c h 21 d 43 e 2 f 17 g Lösung zur Aufgabe 4.4 Welcher Fall beim Entfernen angewendet wurde, entnehmen Sie der Tabelle. Der folgende Baum gibt an, wie der binäre Suchbaum am Ende aller Löschoperationen aussieht. 17

Knoten Fall a 3 c 2 n 1 h 3 l 3 b 3 d 1 g 2 21 i 7 e 27 f 23 m 5 k 33 j 18

D Lösungen zum Kapitel 5 Lösung zur Aufgabe 5.1 Das folgende rekursive Vorgehen eignet sich am besten, um einen möglichst ausgeglichenen binären Suchbaum für die gegebenen Schlüssel zu zeichnen: 1. Der Median (mittlere Wert) der Schlüssel wird zur Wurzel. 2. Die Schlüssel die kleiner als dieser Median sind, bilden den linken Teilbaum der Wurzel, während die grösseren Schlüssel den rechten Teilbaum bilden. 3. Das gleiche Vorgehen wird dann angewendet um die Teilbäume zu bilden. Ein möglichst ausgeglichener binärer Suchbaum mit den angegebenen Schlüsseln könnte folgendermassen aussehen: 27 13 48 5 18 45 63 3 8 24 34 51 67 19

Lösung zur Aufgabe 5.2 Der Baum ist nicht AVL-ausgeglichen, da mehrere Knoten einen Balancefaktor 2 haben. 2 4 +1 +2 1 2 +1 Lösung zur Aufgabe 5.3 Die folgende Zeichnung zeigt den Suchbaum mit den eingetragenen Balancefaktoren. Es ist ein AVL-Baum, da alle Knoten ausgeglichen sind. 44 +1 17 +1 78 12 32 1 5 98 1 18 45 +1 62 +1 82 99 47 71 79 86 2