Algorithmen und Datenstrukturen · Middle · Frage 11 von 75

Wie findet man effizient die k größten Elemente eines großen Arrays?

Antwort zeigen

Richtige Antwort: Einen Min-Heap der Größe k halten und seine Wurzel bei größerem Wert ersetzen

Erklärung

Der Heap hält immer die k größten bisher gesehenen Werte, und seine Wurzel ist der kleinste davon. Die Gesamtkosten sind O(n log k), was Sortieren (O(n log n)) bei kleinem k schlägt und auch mit Streams funktioniert.

Zum Weiterlesen

Fehler in der Frage

Algorithmen und Datenstrukturen · Middle · Frage 11

Teste dich selbst

Mach den Test Algorithmen und Datenstrukturen · Middle: Fragen und Antworten werden gemischt, und am Ende wartet eine Übersicht der Fehler.

Diesen Test machen