Was ist der Unterschied zwischen ahnungslosem und nicht ahnungslosem Zusammenführen, Sortieren usw.

7

Algorithmen können entweder ahnungslos oder nicht ahnungslos sein, aber was ist der tatsächliche Unterschied zwischen den beiden?

Sommer
quelle

Antworten:

10

Oblivious bedeutet, dass der Kontrollfluss unabhängig von einigen Dateneigenschaften ist. Zum Beispiel ist die bitonische Sortierung (auch als Sortiernetz _ bezeichnet) nicht bekannt, da sie immer dieselben Elemente vergleicht, ohne die erhaltenen Daten zu berücksichtigen, während die schnelle Sortierung (oder Zusammenführungssortierung oder eine adaptive Sortierung) nicht vergessen wird, da sich die Algorithmusschritte basierend ändern Bitonische Sortierung führt im besten und im schlechtesten Fall genau die gleichen Schritte aus, während nicht vergessene Algorithmen davon abweichen könnenn Schritte zu n2 (zum Beispiel).

Diese Definition für Cache ist sehr ähnlich. Dies bedeutet, dass der Cache unabhängig von seiner Größe (Cache-Länge) genutzt wird.

Böse
quelle