Warum sind die verlinkten Listen schneller als arrays?

Ich bin sehr verwirrt über diese. Überall wird geschrieben "verlinkte Listen sind schneller als arrays", aber niemand macht sich die Mühe, zu sagen, WARUM. Mit einfachen Logik kann ich nicht verstehen, wie eine verknüpfte Liste, kann schneller sein. In einem array sind alle Zellen neben einander, so lange, wie Sie wissen, die Größe der einzelnen Zellen ist es leicht zu erreichen eine Zelle sofort. Zum Beispiel, wenn es eine Liste mit 10 ganzen zahlen und ich will den Wert in der vierten Zelle, dann gehe ich halt direkt an den Anfang des Arrays+24 bytes und lies 8 bytes von dort.

In der anderen hand, wenn Sie eine verlinkte Liste, und Sie möchten, um das element in der vierten Ort, dann haben Sie von Anfang oder Ende der Liste(je nachdem, ob es ein Einzel-oder Doppel-Liste) und gehen von einem Knoten zum anderen, bis Sie finden, was Sie suchen.

Also wie zum Teufel kann gehen Schritt für Schritt schneller sein als die, die direkt auf ein element?

  • Es hängt davon ab, was Sie versuchen zu erreichen. Wenn Sie möchten, um die Suche oder den Zugriff auf ein bestimmtes element, arrays sind schneller, aber wenn Sie möchten, einfügen oder löschen eines Elements einer verknüpften Liste ist schneller.
  • Ich würde sehr gerne sehen, einen link zu irgendwo, macht diese Behauptung.
  • Einige antworteten schnell, ist relevant. So in einigen Orten ist es geschrieben, dass die arrays sind schneller als verknüpfte Listen und in manchen Orten ist es geschrieben, verknüpfte Listen sind schneller als arrays. Ich gegoogelt und fand keine Ergebnisse auf, die-und das ist der Grund, warum ich die Frage gepostet hier, da war ich verwirrt. Jetzt mit meiner Frage gekrönt jeden anderen, der wundert sich über das gleiche bekommen Ihren Kopf gerade.
  • Was ist mit en.wikipedia.org/wiki/... ?
  • als Anfänger habe ich lieber eine geradewegs Antwort als Lesen die ganze wikipedeia und gar nichts zu verstehen. Nicht jeder ist bequem mit format Sprache afterall.
  • Verknüpfte Listen sind ...soooo sloooooooow... bei Indizierung/durchqueren, aber Sie sind wahnsinnig schnell bei der insertion/deletion im Vergleich zu dynamischen arrays.

InformationsquelleAutor Pithikos | 2011-03-26
Schreibe einen Kommentar