/ / Algorithmus für max Integer in einem Array von Ganzzahlen - Algorithmus, Mergesort, Bubble-Sort

Algorithmus für max Integer in einem Array von Ganzzahlen - Algorithmus, Mergesort, Bubble-Sort

Wenn wir eine Funktion implementieren müssen, die einArray von Ganzzahlen und gibt die maximale Ganzzahl in der Auflistung zurück, vorausgesetzt, die Länge des Arrays ist kleiner als 1000. Würden Sie Bubble Sort oder Merge Sort verwenden und warum?

Was passiert mit der obigen Algorithmuswahl?Wenn die Array-Länge größer als 1000 ist? Ich bin etwas verwirrt darüber, warum ich einen bestimmten Algorithmus gegenüber einem anderen verwenden sollte. Ist es allein aufgrund seiner Komplexität und Zeit oder anderer Faktoren dabei? Was ist, wenn ich die obige Funktion testen muss und das für einen einfachen Algorithmus viel Zeit und für einen komplexen Algorithmus weniger Zeit benötigt?

Antworten:

18 für die Antwort № 1

Ich würde überhaupt nicht sortieren. Ich würde einfach das Array durchqueren und den größten Überblick behalten, während ich gehe. Dies dauert O (N) -Zeit, während Sortieralgorithmen im Allgemeinen besser sind als O (N * log (N)).


3 für die Antwort № 2

Diese Seite rockt

http://www.sorting-algorithms.com/


2 für die Antwort № 3

Nun, wenn Sie sortieren müssen, dann verwenden Sie merge sortweil es viel schneller ist als Blasensortieren. Für 1000 Elemente und eine einzige Sorte wirst du wahrscheinlich den Unterschied auf einem modernen Computer nicht bemerken, aber für mehr Elemente (ich denke> = 10 000) wird der Unterschied nicht angenehm.


0 für die Antwort № 4

Lassen Sie uns die Länge Ihres Arrays N anrufen.

Das Sortieren des Arrays mit Bubble Sort erfolgt grob in der Reihenfolge der N * N-Zeiteinheiten.

Das Sortieren mit Merge Sort erfolgt in der Reihenfolge N * log N Zeiteinheiten.

Einfach jedes Element einzeln betrachten und verfolgen, welches das größte ist, wird in der Reihenfolge von N Zeiteinheiten sein.

Verwenden Sie daher die letzte Methode.