Schwierige Fragen Algodat

Die Datensätze sollen sequentiell verarbeitet werden (sortiert nach Schlüsselwerten).Wie organisieren Sie am besten die Verarbeitung bei a) B-Baum-Technik ?
76KB Größe 1 Downloads 342 Ansichten
Schwierige Fragen Algodat

Für das Insert-Verfahren wurden in der Vorlesung drei Verschiedene Varianten diskutiert. Beschreibung:

Vor und Nachteile zur Basisversion

mit Stopper

- weniger Vergleiche - eine Bewegung mehr

mit Binärsuche

- weniger Vergleiche(worst und average) - Vertauschungen gleich

Nehmen Sie für ein Sortierverfahren immer die schlechteste Schlüsselfolge an. Wann ist (Vergleiche) zu erwarten, dass a)Heapsort besser als Quicksort 1/2*(n²-n)>2*n*log2(n) => n=18 b)BU-Heap besser als Quicksort 1/2*(n²-n)>1,5*n*log2(n) => n=12

(Im Datenbereich sind die Sätze aufsteigend sortiert nach Schlüsselwerten.) Die Datensätze sollen sequentiell verarbeitet werden (sortiert nach Schlüsselwerten).Wie organisieren Sie am besten die Verarbeitung bei a) B-Baum-Technik ? Sequentiell im Datenbereich. B-Baum zu viele E/A-Zugriffe b) Streu-Index-Liste ? Sequentiell im Datenbereich. Hashverfahren zerstört sequentielle Eigenschaft C) Sequentieller Organisation ? einfach durchgehen auf Aufgabe vorher verweisen. Wie sind die folgenden Suchverfahren im Vergleich zu bewerten, bezogen auf die Zeit, die für die Schlüsselvergleiche im Duchschnitt benötigt wird? Lineare Liste:

(n+1)/2

Binärbaum:

keinen Sinn

Suchbaum:

1,4 log2(n)

AVL-Baum:

a[mid] return binäresuche(key,mid+1,ub) ELSEIF key

viele Vergleiche weniger Vertauschungen

Nutzen geeigneter Datenstruktur => bei großen Feldern effizienter (Binärbaum) Indexverwaltung mit Hash-Technik: a) Welche der Hash-Varianten setzen Sie ein? Kübeltechnik Begründung: Blockgröße=Kübelgröße => maximale Ausnutzung des Platzes bei minimalen Blockzugriffen b) Welches Kollisionsauflösungsverfahren setzen Sie ein? Linearprobing c) Begründung: große Kübelgröße und hoher Belegungsgrad mittlere Anzahl Suchschritte am besten. d) Berechnen Sie die zur Leistungsbeurteilung erforderlichen Größen (mit Angabe des Lösungsweges) . Kübelgröße berechnen: (Blockgröße-Blockvorspann)/(Schlüssel+Datenzeiger) Begründung anhand Tabelle Vergleichen Sie die beiden Techniken bzgl. der Anzahl der Suchschritte bei Zugriff auf einen Datenblock (mit Begründung) B-Baum-Technik: sehr gut

Nicht möglich

bzgl. Eintragen von Elementen

In Index Bereich nach Einfach. Evtl. Überlaufstrategie Datenbereich suchen. Dann Anwenden eintragen. Evtl. Überlaufstrategie. Aufwendiger

bzgl. Löschen von Elementen

In Index Bereich nach Sehr einfach keine Suche Datenbereich suchen. Im notwendig. Datenbereich nach Element suchen. Löschen Verschiebung nachfolgender Elemente nötig, oder als gelöscht markieren

Weisen Sie nach, dass beim Löschen eines Knotens in einem binären Suchbaum in jedem Fall die Suchbaumeigenschaft erhalten bleibt. 1.Fall: Zu löschendes Element ist ein Blatt (problemlos) 2.Fall: Zu löschendes Element ist Knoten mit einem Unterbaum. Wurzel des Unterbaum nach oben schieben 3.Fall: Zu löschenden Element ist Knoten mit zwei Unterbäumen. Rechtes größtes Blatt linker Teilbaum oder kleinstes Blatt rechter Teilbaum in den Knoten des zu löschenden Elements verschieben.