• Keine Ergebnisse gefunden

¨Ubungsblatt 4 Abgabe: 24.11.2008

N/A
N/A
Protected

Academic year: 2021

Aktie "¨Ubungsblatt 4 Abgabe: 24.11.2008"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Praktische Informatik I WS 2008/09

Ubungsblatt 4 ¨

Abgabe: 24.11.2008

Aufgabe 1 Sortieren ohne Bl¨ aschen und nicht quick

Neben dem in der Vorlesung vorgestelltenBubblesort-Verfahren und demQuicksort- Algorithmus gibt es noch weitere Sortierverfahren – Ihr d¨urft ein weiteres implemen- tieren.

Aufgabe 1.1 Sortiert?

Auch um w¨ahrend des Programmierens den ¨Uberblick zu behalten, ist es hilfreich eine M¨oglichkeit zu haben um zu entscheiden, ob ein Array sortiert ist. Implementiert eine Methode, die f¨ur einen als Parameter ¨ubergebenen Array entscheidet, ob dieser sortiert ist undtrue oder falsezur¨uckgibt.

Aufgabe 1.2 Diagnose

Sollte Eure Umsetzung des Algorithmus nicht ganz das gew¨unschte Ergebnis liefern, hilft es bei der Fehlersuche, sich das jeweils betrachtete Array ausgeben zu lassen, auch dies sollte in einer eigenen Methode passieren.

Aufgabe 1.3 Aus 2 mach 1

Als Eingabe werden zweiint-Arraysaund b, diesortierte Werte enthalten, ¨uberge- ben. Aus diesen l¨asst sich ein sortiertes Arraycbilden (dessen L¨ange dann nat¨urlich der Summe der L¨angen von aund b entspricht), indem jeweils a und b aufsteigend durchlaufen werden und dabei jeweils die aktuellen Werte verglichen werden. Der kleinere Wert wird in das neue Array c eingetragen, und nur in dem Ursprungsar- ray, in dem dieser Wert steht, darf nun ein Feld weiter gegangen werden. Wenn eins der Ursprungsarrays abgearbeitet ist, wirdc mit den restlichen Werten des anderen gef¨ullt. Implementiert diese Methode, die das Hilfsarrayc zur¨uckgibt.

Aufgabe 1.4 Sortieren in Abschnitten

Der folgende Algorithmus soll ein Array von int-Werten sortieren. Bei Start des Verfahrens ist ein Array a(mit L¨ange n >0) mitint-Werten belegt.

In einem ersten Durchlauf werden jeweils Eintrag a2i und a2i+1 f¨ur i= 0, ...,n2 −1 miteinander verglichen und gegebenfalls vertauscht, so das a2i≤a2i+1 gilt.

Im n¨achsten Durchlauf werden dann Abschnitte der L¨ange 2 wie folgt kombiniert:

a0, a1 bilden den ersten Abschnitt, a2, a3 bilden den zweiten Abschnitt. Diese Ab- schnitte werden der in Aufgabenteil Aufgabe 1.3 geschriebenen Methode ¨ubergeben,

(2)

PI 1, WS 2008/09

mit den Werten des zur¨uckgegebenen Arrays werden dann a0...a3 ¨uberschrieben.

Weiter geht es dann mit den Abschnitten a4, a5 und a6, a7 usw.

Im dritten Durchlauf werden dann analog Abschnitte der L¨ange 4 kombiniert, im vierten Durchlauf Abschnitte der L¨ange 8, usw.

Implementiert dieses Sortierverfahren und ¨uberlegt Euch geeignete Testf¨alle um zu pr¨ufen, das dieses Verfahren seine Aufgabe erfolgreich erf¨ullt.

Terminierung Das Verfahren endet, wenn das Array k¨urzer ist, als die zu kom- binierende Abschnittsl¨ange. Ungl¨ucklicherweise gibt es h¨aufig Arrays, deren L¨ange gerade nicht eine Zweierpotenz ist – in diesem Fall muss bei den Abschnittsgrenzen sehr sorgf¨altig programmiert werden.

Aufgabe 1.5 Kompliziert?

Dieser Algorithmus h¨ort sich ausgesprochen kompliziert an, aber ist er tats¨achlich aufw¨andiger als das Bubblesort-Verfahren aus der Vorlesung? Gebt eine Absch¨atzung f¨ur die Anzahl der Rechenschritte (Vergleiche bzw. Zuweisungen), die n¨otig sind, um ein Array der L¨angenzu sortieren.

2

Referenzen

ÄHNLICHE DOKUMENTE

[r]

[r]

[r]

Zum einen muß der interne Markt optimal versorgt werden; zum anderen müssen auch für den externen Markt Produkte und Dienstleistungen entwickelt werden, die sich dort erfolg-

Abstract—The ceil walls of representatives of the genera CMorfMa, Monoraph;diMm, /In/dsfroaesmus and Sc^n^fsmM.s contained 24-74 % neutral sugars, 1-24 % uronic acids, 2-16 %

[r]

vel nudeabiicitur, vel abie£lo H, Se- gol ad primam radicalem (àepe retrahitur. E contrario AtFe<ftus dicentis tonum etiam in vltimam reiicitj imprimis propter Vau conuerfi- vum

153 cm. Hüftenbreite 54 cm. Eltern durch Pepper importirt 1885. Prämiirt in der Zuchtcollection in Beval 1893 mit der goldenen Medaille. Kuh, weiss-schwarz, Stern.