Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Selection-Sort Insertion-Sort Bubble-Sort. Selection-Sort.

Ähnliche Präsentationen


Präsentation zum Thema: "Selection-Sort Insertion-Sort Bubble-Sort. Selection-Sort."—  Präsentation transkript:

1 Selection-Sort Insertion-Sort Bubble-Sort

2 Selection-Sort

3 Selection-Sort-Beschreibung Suche das kleinste Element aus der unsortierten Liste und tausche es mit dem Element an der nullten Position. Nun besteht die Liste aus einem sortierten Teil an der nullten Position und einem unsortierten Teil an den anderen Positionen. Suche nun stets das kleinste Element aus der unsortierten Teilliste und tausche es mit dem nullten Element der unsortierten Teilliste. Die sortierte Teilliste ist damit um ein Element gewachsen. Wiederhole diesen Vorgang (n-1) mal.

4 Selection-Sort j = 0

5 Selection-Sort min = 0 j = 0

6 Selection-Sort i = 1 min = 0 j = 0

7 Selection-Sort i = 1 min = 1 j = 0

8 Selection-Sort i = 2 min = 1 j = 0

9 Selection-Sort i = 3 min = 1 j = 0

10 Selection-Sort i = 3 min = 3 j = 0

11 Selection-Sort i = 4 min = 3 j = 0

12 Selection-Sort i = 5 min = 3 j = 0

13 Selection-Sort i = 5 tausche (a[j], a[min]) min = 3 j = 0

14 Selection-Sort sortiert j = 0

15 Selection-Sort sortiert j = 1

16 Selection-Sort sortiert min = 1 j = 1

17 Selection-Sort sortiert min = 1 i = 2 j = 1

18 Selection-Sort sortiert min = 1 i = 3 j = 1

19 Selection-Sort sortiert min = 1 i = 4 j = 1

20 Selection-Sort sortiert min = 1 i = 5 j = 1

21 Selection-Sort sortiert min = 1 i = 5 tausche (a[j], a[min]) j = 1

22 Selection-Sort sortiert j = 1

23 Selection-Sort sortiert j = 2

24 Selection-Sort sortiert min = 2 j = 2

25 Selection-Sort sortiert min = 2 i = 3 j = 2

26 Selection-Sort sortiert min = 3 i = 3 j = 2

27 Selection-Sort sortiert min = 3 i = 4 j = 2

28 Selection-Sort sortiert min = 3 i = 5 j = 2

29 Selection-Sort sortiert min = 3 i = 5 j = 2 tausche (a[j], a[min])

30 Selection-Sort sortiert j = 2

31 Selection-Sort sortiert j = 3

32 Selection-Sort sortiert j = 3 min = 3

33 Selection-Sort sortiert j = 3 min = 3 i = 4

34 Selection-Sort sortiert j = 3 min = 3 i = 5

35 Selection-Sort sortiert j = 3 min = 5 i = 5

36 Selection-Sort sortiert j = 3 min = 5 i = 5 tausche (a[j], a[min])

37 Selection-Sort sortiert j = 3

38 Selection-Sort sortiert j = 4

39 Selection-Sort sortiert j = 4 min = 4

40 Selection-Sort sortiert j = 4 min = 4 i = 5

41 Selection-Sort sortiert j = 4 min = 5 i = 5

42 Selection-Sort sortiert j = 4 min = 5 i = 5 tausche (a[j], a[min])

43 Selection-Sort sortiert j = 4

44 Selection-Sort sortiert j = 4

45 a[i] < a[min] solange i < n min = i i = j+1 i++ tausche a[j] mit a[min] ja nein solange j < n-1 j = 0 j++ min = j Selection-Sort Nassi-Shneiderman-Diagramm

46 public class SelectionSortVersion1 { public static void main(String[] args) { int[] a = {3,2,6,1,7,4}; zeigeArray(a); int min = 0; for (int j=0; j

47 public static void zeigeArray(int[] x) { for (int i=0;i

48 public static void zeigeArray(int[] x) { for (int i=0;i

49 Selection-Sort Insertion-Sort Bubble-Sort

50 Insertion-Sort

51 Beschreibung Insertion-Sort 1.Betrachte das nullte Element als sortiert. 2.Wähle das nächste Element und füge es an die richtige Stelle innerhalb des sortierten Teilbereichs ein. 3.Wiederhole den 2. Schritt solange, bis der unsortierte Teilbereich leer ist.

52 Insertion-Sort

53 e =

54 Insertion-Sort

55 134562

56 e =

57 Insertion-Sort

58 134562

59 e =

60 Insertion-Sort

61 e =

62 Insertion-Sort

63

64

65

66 134562

67 e =

68 Insertion-Sort

69 134562

70 i = j solange i > 0 und a[i-1] > e i-- solange j < n j = 1 e = a[j] a[i] = a[i-1] a[i] = e j++

71 public class InsertionSortVersion1 { public static void main(String[] args) { int[] a = {4,2,3,6,1,5}; zeigeArray(a); int e = 0; for (int j=1; j0) && (a[i-1]>e)) { a[i] = a[i-1]; j--; } a[i] = e; zeigeArray(a); } public static void zeigeArray(int[] x) { for (int i=0;i

72 Selection-Sort Insertion-Sort Bubble-Sort

73

74 Beschreibung Bubble-Sort 1.Wähle die nullte Position als Ausgangsposition. 2.Vertausche das Element an der Anfangspostion mit dem Nachfolger, wenn der Nachfolger kleiner ist. 3.Erhöhe die Ausgangsposition um den Wert 1. 4.Wiederhole die Schritte 2 und 3, bis auch der letzte Wert der Liste verglichen wurde. 5.Wiederhole die Schritte 2 bis 4 (n-1) mal.

75 Bubble-Sort Durchgang

76 Bubble-Sort Durchgang

77 Bubble-Sort Durchgang

78 Bubble-Sort Durchgang

79 Bubble-Sort Durchgang

80 Bubble-Sort Durchgang

81 Bubble-Sort Durchgang

82 Bubble-Sort Durchgang

83 Bubble-Sort Durchgang

84 Bubble-Sort Durchgang

85 Bubble-Sort Durchgang

86 Bubble-Sort Durchgang

87 Bubble-Sort Durchgang

88 Bubble-Sort Durchgang

89 Bubble-Sort Durchgang

90 Bubble-Sort Durchgang

91 Bubble-Sort Durchgang

92 Bubble-Sort Durchgang

93 Bubble-Sort Durchgang

94 Bubble-Sort Durchgang

95 Bubble-Sort Durchgang

96 Bubble-Sort Durchgang

97 Bubble-Sort Durchgang

98 Bubble-Sort Durchgang

99 Bubble-Sort Durchgang

100 Bubble-Sort Durchgang

101 Bubble-Sort Durchgang

102 Bubble-Sort Durchgang

103 Bubble-Sort Durchgang

104 Bubble-Sort Durchgang

105 Bubble-Sort Durchgang

106 Bubble-Sort Durchgang

107 Selection-Sort Insertion-Sort Bubble-Sort

108 i=0 solange i < n-1 ja solange j < n-1 j=1 a[i] > a[i+1] tausche a[i] mit a[i+1] nein i++ j++

109 public class BubbleSortVersion1 { public static void main(String[] args) { int[] a = {4,2,3,6,1,5}; zeigeArray(a); for (int j=1;ja[i+1]) { tausche(a,i,i+1); } zeigeArray(a); } // end of main public static void zeigeArray(int[] x) { for (int i=0;i

110 Stabilität Anton 3 Bernd 3 Chris 1 Chris 1 Anton 3 Bernd 3

111 Anton 3 Bernd 3 Chris 1 Handelt es sich bei Selection-Sort um ein stabiles Sortierverfahren? Nach Namen sortierte Liste.

112 Anton 3 Bernd 3 Chris 1 Handelt es sich bei Selection-Sort um ein stabiles Sortierverfahren? Nach Namen sortierte Liste. werden vertauscht

113 Anton 3 Bernd 3 Chris 1 Handelt es sich bei Selection-Sort um ein stabiles Sortierverfahren? Nach Namen sortierte Liste. werden vertauscht Chris 1 Bernd 3 Anton 3 Nach Zahlen sortierte Liste. Trotz gleicher Zahl wurde die Reihenfolge von Anton und Bernd geändert. Daraus folgt, dass es sich bei Selection-Sort um kein stabiles Sortierverfahren handelt.

114 Optimierungsmöglichkeiten von Bubble-Sort nicht optimiert: n-1 Vergleiche pro Durchgang n-1 Durchgänge 1. Optimierungsmöglichkeit bei i Durchgängen: n-i Vergleiche pro Durchgang 2. Optimierungsmöglichkeit: Abbruch, wenn innerhalb eines Durchgangs keine Vertauschung stattgefunden hat.

115 Aufwandsabschätzung Bubble-Sort Betrachtet werden soll die Anzahl A aller Vergleiche im nicht optimierten Fall. n-1 Vergleiche pro Durchgang n-1 Durchgänge Der Vergleichsaufwand bei Bubble-Sort liegt im in der Größenordnung:

116 Aufwandsabschätzung Bubble-Sort Betrachtet werden soll die Anzahl A aller Vergleiche im optimierten Fall. n-i Vergleiche pro Durchgang n-1 Durchgänge

117 Aufwandsabschätzung bezüglich der Vertauschungen bei Bubble-Sort (optimierte Variante 1) schlechtester Fall: Bei jedem Vergleich wird auch getauscht. Vertauschungsaufwand liegt in der Größenordnung durchschnittlicher Fall: Bei ungefähr jedem zweiten Vergleich wird getauscht. Vertauschungsaufwand liegt in der Größenordnung bester Fall: Bei keinem Vergleich wird getauscht. Vertauschungsaufwand liegt in der Größenordnung 0.

118 Aufwandsabschätzung bezüglich der Vertauschungen bei Bubble-Sort (optimierte Variante 2 (mit Abbruchbedingung)) schlechtester Fall: Bei jedem Vergleich wird auch getauscht. Vertauschungsaufwand liegt in der Größenordnung durchschnittlicher Fall: Bei ungefähr jedem zweiten Vergleich wird getauscht. Vertauschungsaufwand liegt in der Größenordnung bester Fall: Bei keinem Vergleich wird getauscht. Vertauschungsaufwand liegt in der Größenordnung 0.


Herunterladen ppt "Selection-Sort Insertion-Sort Bubble-Sort. Selection-Sort."

Ähnliche Präsentationen


Google-Anzeigen