Hallo liebe community,
ich habe folgendes Problem.
Den normalen Vergleich(die ersten beiden Elemente miteinander vergleichen, Min / Max festlegen und dann mit den restlichen Arrayeinträgen vergleichen), den ich bisher immer verwendet habe (programmiere seit ca. 1 1/2 Monaten),
kann ich hier nicht benutzen da er 2n-2 Vergleiche braucht.
Als zweites hatte ich mir überlegt, ob ich das Array nach Größe sortiere. Aber ich glaube, dass ich hier noch weit mehr Vergleiche bräuchte, als normal.
Hat jemand einen Tipp? Mir ist bisher auch noch nicht bewusst, was mir die Tatsache nutzt, dass die Arraylänge gerade ist.
Mit freundlichen Grüßen,
Serious
ich habe folgendes Problem.
Gebt einen Algorithmus als Pseudocode an, der gleichzeitig das Minimum und das
Maximum bestimmt. Dieser Algorithmus soll echt weniger als 2n-3 Vergleiche von
Elementen durchführen.
Wir wollen im Folgenden der Einfachheit halber annehmen, dass ein Array der Länge n
gegeben ist, wobei n = 2k gerade ist. Weiterhin sollen alle Arrayelemente unterschiedlich
sein, so dass ein Vergleich immer ein eindeutiges Ergebnis hat.
Den normalen Vergleich(die ersten beiden Elemente miteinander vergleichen, Min / Max festlegen und dann mit den restlichen Arrayeinträgen vergleichen), den ich bisher immer verwendet habe (programmiere seit ca. 1 1/2 Monaten),
kann ich hier nicht benutzen da er 2n-2 Vergleiche braucht.
Als zweites hatte ich mir überlegt, ob ich das Array nach Größe sortiere. Aber ich glaube, dass ich hier noch weit mehr Vergleiche bräuchte, als normal.
Hat jemand einen Tipp? Mir ist bisher auch noch nicht bewusst, was mir die Tatsache nutzt, dass die Arraylänge gerade ist.
Mit freundlichen Grüßen,
Serious