R
redbomber
Gast
Hi zusammen:
Ich habe eine Frage, bzw. vielmehr ein Problem.
Ich besitze eine LinkedList<Object> in sich Objekte befinden.
Diese Objekte besitzen eine Eigenschaft (-> z.B.: Alter), nachdem ich diese Objekte sortieren möchte.
Diser Vorgang findet nur 1 mal ganz zu Beginn statt.
Bisher erstelle ich einfach eine neue LinkedList<Object> und führe im grunde einen insertionsort aus.
Also füge ich Object für Object in die neue Liste an der passenden Stelle ein, indem ich das Alter des neu einzufügenden Objekts mit dem Alter der schon eingefügten Objekte vergleiche.
Sobald ich ein älteres Objekt finde habe ich meine Einfügeposition gefunden.
Dies klappt auch alles soweit ganz gut, die Laufzeit ist jedoch sehr schlecht (im schlechtesten Fall O(n^2)).
Dies merke ich wenn ich größere Daten einlese, dann braucht der wirklich viel zu lange um die Objekte zu sortieren.
Jetzt habe ich gehört, dass man seinen eigenen Comparator programmieren kann, welcher die Sortierung schneller durchführt. Wisst ihr wie so etwas funktioniert? Macht so etwas sinn?
Oder habt ihr mir vielleicht einen anderen Tip wie ich das Sortieren schneller gestalten kann?[/quote]
Ich habe eine Frage, bzw. vielmehr ein Problem.
Ich besitze eine LinkedList<Object> in sich Objekte befinden.
Diese Objekte besitzen eine Eigenschaft (-> z.B.: Alter), nachdem ich diese Objekte sortieren möchte.
Diser Vorgang findet nur 1 mal ganz zu Beginn statt.
Bisher erstelle ich einfach eine neue LinkedList<Object> und führe im grunde einen insertionsort aus.
Also füge ich Object für Object in die neue Liste an der passenden Stelle ein, indem ich das Alter des neu einzufügenden Objekts mit dem Alter der schon eingefügten Objekte vergleiche.
Sobald ich ein älteres Objekt finde habe ich meine Einfügeposition gefunden.
Dies klappt auch alles soweit ganz gut, die Laufzeit ist jedoch sehr schlecht (im schlechtesten Fall O(n^2)).
Dies merke ich wenn ich größere Daten einlese, dann braucht der wirklich viel zu lange um die Objekte zu sortieren.
Jetzt habe ich gehört, dass man seinen eigenen Comparator programmieren kann, welcher die Sortierung schneller durchführt. Wisst ihr wie so etwas funktioniert? Macht so etwas sinn?
Oder habt ihr mir vielleicht einen anderen Tip wie ich das Sortieren schneller gestalten kann?[/quote]