Algorithmen und Datenstrukturen · Senior · Frage 51 von 75

Was ist cachefreundlich daran, ein 2D-Array in C-artigem Layout Zeile für Zeile zu durchlaufen?

Antwort zeigen

Richtige Antwort: Zeilen liegen zusammenhängend, Lesezugriffe treffen also dieselben Cache-Zeilen

Erklärung

Bei zeilenweisem Layout sind a[i][j] und a[i][j+1] Nachbarn. Spaltenweises Durchlaufen springt pro Schritt eine ganze Zeile weiter und verfehlt den Cache, was bei gleicher O(n²)-Arbeit um ein Mehrfaches langsamer sein kann.

Zum Weiterlesen

Fehler in der Frage

Algorithmen und Datenstrukturen · Senior · Frage 51

Teste dich selbst

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

Diesen Test machen