Ein Array von n Zahlen gegeben ist, wobei n eine gerade Zahl ist. Das Maximum sowie das Minimum dieser n Zahlen müssen bestimmt werden. Ich brauche die erforderlichen Vergleiche?Maxima und Minima eines Arrays
Antwort
Es kann in O (n) Zeit getan werden.
Sie können diese link für
Referenz BesucheSie scherzen richtig? Mit naiven Ansatz kann es in O (N) –
@IvayloStrandjev getan werden: - Bitte korrigieren Sie mich, wenn ich falsch liege, aber ich habe es ein 2D-Array betrachtet. Also ist es in 2D-Array auch möglich, d. H. O (n) Zeit? –
'Ein Array von n Zahlen ist gegeben, wobei n eine gerade Zahl ist. Das Maximum sowie das Minimum dieser n Zahlen müssen bestimmt werden. Ich sehe hier keine Angabe von 2D. OP bittet um eine Möglichkeit, die minimale und maximale Anzahl von n Zahlen mit einer minimalen Anzahl von Vergleichen zu finden –
Es kann mit 3*n/2-2
Vergleiche durchgeführt werden.
Für n == 2
, vergleichen Sie einfach die beiden Zahlen. Angenommen, wir haben Minimum und Maximum für die ersten Nummern. Vergleichen Sie die verbleibenden zwei Zahlen und vergleichen Sie dann das größere mit dem vorherigen Maximum und das kleinere mit dem vorherigen Minimum.
Für ein unsortiertes Array kann in etwa 1.5n
Vergleiche durchgeführt werden. Sie können dies tun, indem Sie Paare von Elementen eines Arrays vergleichen und das min
und das lokale max
speichern. Sie haben n/2
Vergleiche gemacht, um (lokale) max zu finden und n/2
um die min. Somit ist in dieser Phase insgesamt n
.
Jetzt gehen Sie über die max und min Einheimische und finden Sie die globale max und min. Dies würde auch n/2
Vergleiche erfordern. So n + n/2 = 1.5n
.
Wenn das Array sortiert ist, können Sie es ohne Vergleiche finden, da die niedrigste Zahl auf Position 0 und der höchste auf der Position N - 1.
- 1. Gnuplot-Set colorbar Maxima und Minima
- 2. Finden Sie alle lokalen Maxima und Minima, wenn x und y-Werte als numpy Arrays gegeben
- 3. Finden der lokalen Maxima/Peaks und Minima/Täler von Histogrammen
- 4. Wie coefatrix in Maxima
- 5. Differentialgleichung von Maxima
- 6. Ermittlung der Minima, Index außerhalb des Bereichs Fehler
- 7. Formeln in Maxima-Software vereinfachen
- 8. LaTeX vom Maxima-Eingang generieren
- 9. Wie funktioniert das Variablennamen-Scoping in Maxima?
- 10. Maxima Installationsproblem: maxima.core konnte nicht erstellt werden
- 11. Inhalt und die Struktur eines Arrays
- 12. Gruppierung eines Arrays und Summe erhalten
- 13. Schleifen und Erstellen eines Arrays in Ruby
- 14. Serialisieren und Deserialisieren eines gezackten Arrays C#
- 15. Go: Bereich und Len eines mehrdimensionalen Arrays?
- 16. Serialisieren eines Arrays und Deserialisieren Zurück
- 17. Erstellen (und Zugriff) eines Arrays in MIPS
- 18. Ausgabeprobleme beim Drucken eines Arrays und toString
- 19. Foreach für Arrays innerhalb eines Arrays
- 20. Drucken eines Arrays von Arrays Java
- 21. Ersetzen von Einträgen eines Arrays mit denen eines anderen Arrays
- 22. Python - Skalierung eines Abschnitts eines Arrays und nicht der Rest
- 23. Die Nichtigkeit und den Nullraum in Maxima finden
- 24. Transponieren eines 2D-Arrays
- 25. Umkehren eines Arrays Abfrage
- 26. Zerlegen eines Arrays
- 27. Max eines Arrays (SAS)
- 28. Zufälliges Sortieren eines Arrays
- 29. Diagonale eines 3D-Arrays
- 30. iterieren eines jqlite-Arrays
Hinweis: 3 * n/2-2 Vergleiche sind genug . – Henrik
@Henrik können Sie bitte erarbeiten – user2170497