• Keine Ergebnisse gefunden

Aufgabe2(Patricia-Tries, 1.5+3Punkte ) Aufgabe1(Suchbäume, 2Punkte ) AbgabeinderÜbungam13.07/14.07.2010 ÜbungenzuInformatikII-Blatt13

N/A
N/A
Protected

Academic year: 2021

Aktie "Aufgabe2(Patricia-Tries, 1.5+3Punkte ) Aufgabe1(Suchbäume, 2Punkte ) AbgabeinderÜbungam13.07/14.07.2010 ÜbungenzuInformatikII-Blatt13"

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Prof. G. Zachmann

David Mainzer

TU Clausthal Institut für Informatik

8. Juli 2010

Sommersemester 2010

Übungen zu Informatik II - Blatt 13

Abgabe in der Übung am 13. 07 / 14. 07. 2010

Bitte beachten Sie, dass die Programmieraufgaben von Ihnen in der Übung vorgeführt und er- klärt werden müssen. Zusätzlich senden Sie die Lösung, unter Angabe ihres Namens, andm@tu- clausthal.de.

Aufgabe 1 (Suchbäume, 2 Punkte )

Welchen Vorteil haben B-Bäume mit Parameterkgegenüber allgemeinenk-Wege-Bäumen bzgl. der Höhe? Begründen Sie ihre Antwort.

Aufgabe 2 (Patricia-Tries, 1.5+3 Punkte )

Die Abbildung 1 zeigt ein Beispiel für einen Patricia-Trie (eine Erläuterung was ein Patricia-Trie ist, befindet sich am Ende des Übungsblattes). Gehen Sie davon aus, dass wir im Folgenden einen solchen Patricia-Trie verwenden. Die Knoten enthalten die Position im Bit-String, beginnend bei 1, in welcher sich der rechte und linke Zweig unterscheiden.

1

5 6

3

4

9

9 10

00 0 0 0 1 01 0 0 20

00 0 0 0 1 01 1 1 23

00 0 0 1 0 10 1 0 42

00 0 0 1 0 10 1 1 43

0 0 01 1 0 0 1 00 100

00 0 1 1 1 10 0 0 120

00 0 1 1 1 10 1 1 123

0 01 1 0 0 1 00 0 200

1 1 1 11 0 0 1 1 1 999

Abbildung 1: vereinfachter Patricia-Trie (ohne Aufwärts-Pointer)

a) Beschreiben Sie einen Algorithmus in Pseudo-Code, welcher nach einem beliebigen Element im Patricia-Trie sucht.

b) Beschreiben Sie einen Algorithmus in Pseudo-Code, welcher das Löschen eines Elementes in den Patricia-Trie durchführt. Beachten Sie das eventuelle Aktualiesieren/Anpassen der Knotenwert.

1

(2)

Patricia-Tries

Bei Patricia-Tries handelt es sich um eine Variante der binären Tries. Sie vermeiden Pfade im Baum ohne Gabelung (sog. “Einweg-Pfade”). Wir betrachten hier in dieser eine stark vereinfachte Variante der Patricia-Tries, die wir im folgenden trotzdem genau so nennen wollen. Patricia Tries wurden 1968 von Morrison vorgestellt.

DieIdeen:

Speichere an den inneren Knoten die Anzahl Bits, die übersprungen werden können und nicht getestet werden brauchen (weil es sowieso keine Gabelung auf dem Pfad darunter gibt, d.h., alle Keys in diesem Teilbaum bis dahin den gleichen Präfix haben).

Die Abbildung 2 zeigt auf der linken Seite einen Baum, welcher entlang seiner Kante die Bit-Werte trägt. Um einen Bit-String, bestehend aus 4-Bit zu vergleichen, sind 4 Kanten durchläufe nötig.

Ein entsprechender Patricia-Trie, siehe rechter Teil der Abbildung 2, benötigt nur eine Kante, da im Knoten die “critical bit number” gespeichert ist. Es ist also nur der Vergleich dieses Bit’s nötig, um die beiden Bit-Strings zu vergleichen. Hieran kann man deutlich erkennen, wie die sogenannten

“Einweg-Pfade” durch einen entsprechenden Knoten ersetzt wurden.

1 4

0 1111 1110 1

1 1

1111 1110

1 0

Abbildung 2: Beispiel für das Umwandeln eines binär Trie in einen Patricia-Trie

Aufgabe 3 (Floating Point, 2 Punkte)

Seix 2 Rgegeben und ^x 2 Fdie Floating-Point-Zahl, die aus xunter dem Rundungsmodus “round to nearest” hervorgeht. Begründen Sie, warumj^x xj "mjxj.

a) Sei x 2 R gegeben und ^x 2 F die Floating-Point-Zahl, die aus x unter dem Rundungsmodus

“round to nearest” hervorgeht. Begründen Sie, warumj^x xj "mjxjgilt.

Tip: Überlegen Sie sich die worst-cases beim Runden auf der Bit-Ebene. Zur Vereinfachung können Sie einfach den Rundungsmodus wählen, der Ihnen am einfachsten zu sein scheint.

b) Ausgehend vonj^x xj "mjxj, zeigen Sie, dass

jxj(1 ") j^xj jxj(1 + ") Tip: Erinnern Sie sich an die Rechenregeln bzgl. des Betrages.

Aufgabe 4 (Floating Point, 3 Punkte)

Gegeben sei das nachstehende Beispiel-Programm 1 in Python. Zu Beginn wird die Variablesumauf den Wert0.0gesetzt (Zeile 4). Anschließend wird diese Variable in derfor-Schleife 10 Mal um den Wert0.1erhöht (Zeile 9).

2

(3)

1 #/bin/python

2 # -*- coding: utf-8 -*-

3

4 sum = 0.0

5 n = 10

6 d = 1.0 / n

7 print "d = %.60f \n" % ( d )

8 print "%2i: sum = %.60f" % (0, sum )

9 for i in range(n):

10 sum += d

11 print "%2i: sum = %.60f" % (i, sum )

12

13 print "\nErgebnis:"

14 print "%f -- %.60f" % (sum, sum )

Quellcode 1: Beispiel-Programm zu “Numerische Robustheit” in Python

a) Geben wir nun die Variablesumaus, erhalten wir den Wert

0.999999999999999888977697537484345957636833190917968750000000anstelle des erwarteten Wertes1.0. Erklären Sie was passiert ist und wie es zu diesem Fehler kommt. Führen Sie das Programm einmal selber aus um zu sehen was genau passiert.

b) In Zeile 7 wird das Deltadausgegeben und beträgt0:1(1 + )

(d = 0.100000000000000005551115123125782702118158340454101562500000), wo- bei < "mist. Erklären Sie, warum am Endesum< 1:0gilt

3

Abbildung

Abbildung 1: vereinfachter Patricia-Trie (ohne Aufwärts-Pointer)
Abbildung 2: Beispiel für das Umwandeln eines binär Trie in einen Patricia-Trie

Referenzen

ÄHNLICHE DOKUMENTE

2010: 6488 registered Clinical- and/or Health Psychologists (Number doubled f 2000 2010). from 2000

Île de Porquerolles ist eine der wunderbarsten Inseln an der Côte d’Azur mit dem schönen Sandstrand „Plage Notre Dame“. Die Insel erreicht man am besten über die Halbinsel am Tour

Ohne Rücksicht auf Gattungen und Besetzungen geht es quer durch alle Stilepochen und offenbart dabei nicht nur geheime Linien der Musikgeschichte, sondern auch das fast

vertrat sie die Ansicht, dass die Kinderlosigkeit einer Frau auch in bestimmten Fällen auf gesundheitliche Probleme des Mannes zurückgeführt werden kann, diese Meinung war eine,

Así mismo, para los nuevos emprendedores la variable conocer a nuevos emprendedores es significativa al 1% aumentando la probabilidad de emprender tanto en el modelo de

Switzerland and ‘colonialism without colonies’: Reflections on the status of colonial outsiders.. Colonial Switzerland: Rethinking Colonialism from

In Figure 2c we exploit import data at the tariff line level (available since 2000) to report the percentage of imported 8-digit HS products subject to new antidumping initiations

What do Australian knowledge workers want in a podcast (for example, format and design) for it to be effective as a professional development