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 236174 Selection-Sort j = 0

5 236174 Selection-Sort min = 0 j = 0

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

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

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

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

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

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

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

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

14 216374 Selection-Sort sortiert j = 0

15 216374 Selection-Sort sortiert j = 1

16 216374 Selection-Sort sortiert min = 1 j = 1

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

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

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

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

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

22 216374 Selection-Sort sortiert j = 1

23 216374 Selection-Sort sortiert j = 2

24 216374 Selection-Sort sortiert min = 2 j = 2

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

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

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

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

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

30 213674 Selection-Sort sortiert j = 2

31 213674 Selection-Sort sortiert j = 3

32 213674 Selection-Sort sortiert j = 3 min = 3

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

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

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

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

37 213476 Selection-Sort sortiert j = 3

38 213476 Selection-Sort sortiert j = 4

39 213476 Selection-Sort sortiert j = 4 min = 4

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

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

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

43 213467 Selection-Sort sortiert j = 4

44 213467 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 { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.org/10/2942701/slides/slide_46.jpg", "name": "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 { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.org/10/2942701/slides/slide_47.jpg", "name": "public static void zeigeArray(int[] x) { for (int i=0;i

48 public static void zeigeArray(int[] x) { for (int i=0;i { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.org/10/2942701/slides/slide_48.jpg", "name": "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 123456

53 13456 2 e =

54 Insertion-Sort 13456 2

55 134562

56 1 3 4562 e =

57 Insertion-Sort 1 3 4562

58 134562

59 1345 6 2 e =

60 Insertion-Sort 134562

61 1 34562 e =

62 Insertion-Sort 1 34562

63 1 34562

64 1 34562

65 1 34562

66 134562

67 134 5 62 e =

68 Insertion-Sort 134 5 62

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 { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.org/10/2942701/slides/slide_71.jpg", "name": "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 123456 1. Durchgang

76 Bubble-Sort 143256 1. Durchgang

77 Bubble-Sort 143256 1. Durchgang

78 Bubble-Sort 134256 1. Durchgang

79 Bubble-Sort 134256 1. Durchgang

80 Bubble-Sort 134256 1. Durchgang

81 Bubble-Sort 634251 1. Durchgang

82 Bubble-Sort 634251 1. Durchgang

83 Bubble-Sort 534261 1. Durchgang

84 Bubble-Sort 534261 2. Durchgang

85 Bubble-Sort 534261 2. Durchgang

86 Bubble-Sort 534261 2. Durchgang

87 Bubble-Sort 531264 2. Durchgang

88 Bubble-Sort 531264 2. Durchgang

89 Bubble-Sort 531264 2. Durchgang

90 Bubble-Sort 531264 3. Durchgang

91 Bubble-Sort 531264 3. Durchgang

92 Bubble-Sort 513264 3. Durchgang

93 Bubble-Sort 513264 3. Durchgang

94 Bubble-Sort 513264 3. Durchgang

95 Bubble-Sort 513264 3. Durchgang

96 Bubble-Sort 513264 4. Durchgang

97 Bubble-Sort 523164 4. Durchgang

98 Bubble-Sort 523164 4. Durchgang

99 Bubble-Sort 523164 4. Durchgang

100 Bubble-Sort 523164 4. Durchgang

101 Bubble-Sort 523164 4. Durchgang

102 Bubble-Sort 523164 5. Durchgang

103 Bubble-Sort 523164 5. Durchgang

104 Bubble-Sort 523164 5. Durchgang

105 Bubble-Sort 523164 5. Durchgang

106 Bubble-Sort 523164 5. 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 { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.org/10/2942701/slides/slide_109.jpg", "name": "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;ia[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