• Keine Ergebnisse gefunden

(1)Sortierverfahren Ubungen¨ Aufgabe 1 Sortiere die Zahlen im Array A schrittweise mit Selectionsort in aufsteigender Reihenfolge

N/A
N/A
Protected

Academic year: 2021

Aktie "(1)Sortierverfahren Ubungen¨ Aufgabe 1 Sortiere die Zahlen im Array A schrittweise mit Selectionsort in aufsteigender Reihenfolge"

Copied!
4
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Sortierverfahren Ubungen¨

Aufgabe 1

Sortiere die Zahlen im Array A = [8, 3, 7, 6, 2, 4] schrittweise mit Selectionsort in aufsteigender Reihenfolge.

Wie viele Vergleiche und Vertauschungen sind daf¨ur insgesamt n¨otig?

Aufgabe 2

Sortiere die Zahlen im ArrayA = [9, 3, 5, 2, 1, 4, 8]schrittweise mit Selectionsort in aufsteigender Reihenfolge.

Wie viele Vergleiche und Vertauschungen sind daf¨ur insgesamt n¨otig?

Aufgabe 3

Sortiere die Zahlen im Array A = [8, 3, 7, 6, 2, 4] schrittweise mit Insertionsort in aufsteigender Reihenfolge.

Wie viele Vergleiche und Verschiebungen sind daf¨ur insgesamt n¨otig?

Aufgabe 4

Sortiere die Zahlen im Array A = [3, 1, 4, 2, 7, 9] schrittweise mit Insertionsort in aufsteigender Reihenfolge.

Wie viele Vergleiche und Verschiebungen sind daf¨ur insgesamt n¨otig?

Aufgabe 5

Sortiere die Zahlen im Array A = [3, 1, 4, 2, 7, 9] schrittweise mit Bubblesort in aufsteigender Reihenfolge.

Wie viele Vergleiche und Vertauschungen sind daf¨ur insgesamt n¨otig?

Aufgabe 6

Sortiere die Zahlen im Array A = [7, 5, 4, 1] schrittweise mit Bubblesort in aufstei- gender Reihenfolge.

Wie viele Vergleiche und Vertauschungen sind daf¨ur insgesamt n¨otig?

Aufgabe 7

Sortiere die Zahlen im Array A = [8, 1, 3, 2, 7, 9, 4]schrittweise mit Quicksort in aufsteigender Reihenfolge.

Wie viele Vergleiche und Vertauschungen sind daf¨ur insgesamt n¨otig?

1

(2)

Aufgabe 8

Sortiere die Zahlen im ArrayA = [2, 4, 7, 1]schrittweise mit Quicksort in aufsteigen- der Reihenfolge.

Wie viele Vergleiche und Vertauschungen sind daf¨ur insgesamt n¨otig?

Aufgabe 9

Sortiere die Zahlen im Array A = [1, 2, 3, 4, 5, 7, 8, 9] schrittweise mit der ite- rativen Version von Mergesort in aufsteigender Reihenfolge.

Wie viele Vergleiche und Verschiebungen sind daf¨ur insgesamt n¨otig?

Aufgabe 10

Sortiere die Zahlen im Array A = [0, 2, 3, 4, 5, 6, 6, 7, 8, 9] schrittweise mit der iterativen Version von Mergesort in aufsteigender Reihenfolge.

Wie viele Vergleiche und Verschiebungen sind daf¨ur insgesamt n¨otig?

Aufgabe 11

Zeige, wie die Zahlen im Array A = [3, 2, 1, 1, 0, 1, 3, 2] mit Countingsort auf- steigend sortiert werden, indem du die daf¨ur n¨otigen Arrays angibst.

Aufgabe 12

Zeige, wie die Zahlen im ArrayA = [2, 5, 3, 2, 2, 3, 2, 5, 1, 2]mit Countingsort aufsteigend sortiert werden, indem du die daf¨ur n¨otigen Arrays angibst.

Aufgabe 13

Ein Computerprogramm ben¨otigt f¨ur das Sortieren einer Liste mit 10 000 zuf¨allig ange- ordneten Elementen mit dem Selectionsort-Verfahren etwa 10 Sekunden.

Wie lange wird das Programm auf dem gleichen Computer f¨ur eine Liste mit 20 000 zuf¨allig angeordneten Elementen ben¨otigen?

Aufgabe 14

Bestimme die

(a) minimale Rekursionstiefe (b) maximale Rekursionstiefe

die das Quicksort-Verfahren bei einem Array mit 100 Elementen bew¨altigen muss, bis die zu verarbeitenden Teilarrays die L¨ange 1 haben.

2

(3)

Aufgabe 13

Nenne zwei Modifikationen, mit denen die Worst Case-Laufzeit des Quicksort-Verfahrens vermieden werden kann.

Aufgabe 14

Gib die Worst- und Best-Case Laufzeiten der folgenden Sortieralgorithmen in Abh¨angigkeit der Arrayl¨ange n an.

Worst Case Best Case Mergesort

Selectionsort Countingsort Insertionsort Quicksort

Aufgabe 15

Beschreibe zwei Situationen, in denen man jeweils Quicksort bzw. Mergesort bevorzugt anwende sollte.

Aufgabe 16

Eine Implementierung f¨ur Mergesort ben¨otigt f¨ur das Sortieren von 106 Zahlen 3.6 Sekun- den. Wie lange ben¨otigt diese Implementierung f¨ur das Sortieren von 107 Zahlen?

Aufgabe 17

Eine Implementierung von Mergesort ben¨otigt zum Sortieren von 104 Zahlen 0.024 Se- kunden. Eine Implementierung von Selectionsort ben¨otigt f¨ur das Sortieren der gleichen Zahlen 2.75 Sekunden.

Berechne anhand der Beispieldaten die Konstanten cM und cS der Laufzeiten TM(n) bzw. TS(n) f¨ur das jeweilige Sortierverfahren.

Aufgabe 18

Schreibe eine Python-Funktion isSorted(A), deren formales Argument A ein Array aus Zahlen ist und die den Wert True ausgibt, falls das Array bereits aufsteigend sortiert ist und False sonst.

Aufgabe 19

Wie viele Vergleiche f¨uhrt Selectionsort durch, wenn es ein Array mit 200 Elementen sortiert?

3

(4)

Aufgabe 20

Zu welchem Sortierverfahren geh¨ort die folgende Hilfsfunktion?

1 def doSomething(A, a, b, c):

2 L = A[a:b] + [float(’inf’)]

3 R = A[b:c] + [float(’inf’)]

4 i = 0

5 j = 0

6 for k in range(a, c):

7 if L[i] <= R[j]:

8 A[k] = L[i]

9 i = i+1

10 else:

11 A[k] = R[j]

12 j = j+1

Aufgabe 21

Gegeben ist eine Python-Implementation f¨ur Insertionsort, die eine Liste von Zahlen auf- steigend sortiert.

1 def insertionsort(A):

2 for i in range(1, len(A)):

3 x = A[i]

4 j = i-1

5 while(j >= 0 and A[j] > x):

6 A[j+1] = A[j]

7 j = j-1

8 A[j+1] = x

Andere das Programm so ab, dass die Werte¨ absteigend sortiert werden.

4

Referenzen

ÄHNLICHE DOKUMENTE

Lernziel: Selbstlaute, Mitlaute, Umlaute und Doppellaute erkennen Dein Wörterbuch hilft dir: Wörterbuch für das

Fortschreiten in Richtung der Drehachse eine Rechtsschraube entsteht. Bestimmen Sie die Matrix von f bez¨ uglich der Standardbasis

bis 23.9.09 - mündliche Prüfungen über den Stoff beider Teilmodule ”Lineare Algebra I, II” durchgeführt. Die Anmeldungs- modalitäten werden gegen Ende des SS 2009

[r]

In this case the proportion of the golden section can be constructed in a square lattice, using circles going through lattice points.?. This gives

Es ist der Leserin oder dem Leser überlassen, wie ob sie oder er die Figur der Abbil- dung 5 als Folge von Rhomben mit dem Spitzenwinkel 72° oder als eine Ecke eines 5d-

In der ersten Spirale (Abb. 2) haben wir zuinnerst ein rotes Feld, anschließend drei grü- ne Felder, dann fünf rote Felder, dann sieben grüne Felder, dann neun rote Felder und

” F“s auf die richtige Blockl¨ange gebracht werden (d.h. verwenden Sie ihre Matrikelnummern sowohl als Klartext als auch als Chiffretext).. Zur Hilfe- stellung gibt es ein