Verkettete Liste einfügen Laufzeit Verwirrung

Ich habe versucht, um zu bestätigen, die Laufzeit für das einfügen für verkettete Listen und es scheint, wie es gibt zwei verschiedene Antworten.

Einfügen eines Elements am Ende einer verketteten Liste, ich würde denken, dass es dauern O(n), da es zu durchqueren, um das Ende der Liste, um Zugriff auf den Schwanz. Aber einige der Antworten, die ich gesehen habe, sagt O(1)? Sind Sie der Annahme, dass alle verknüpfte Listen-Implementierung ein Zeiger auf den Schwanz? Wenn ja, ist dies eine akzeptable Annahme?

Zweiten, einige Plätze auch darauf hin, dass beim einfügen eines Elements in der Mitte einer verknüpften Liste ist O(1), die ich bin verwirrt, etwa aufgrund der gleichen Argumentation der traverse in die Mitte der Liste, um es einzufügen.

Könnte jemand bitte klären? Danke.

  • Wenn die insertion in der Mitte der Liste O(1) wir müssten keine arrays mehr :).
  • Li0liQ: Einer der Vorteile von verketteten Listen ist, dass Sie können Elemente einfügen, die in der Mitte in konstanter Zeit, wo in arrays, die Sie benötigen, um alle der folgenden Elemente.
  • Was über die ständige Indizierung?
InformationsquelleAutor Troy | 2009-12-19
Schreibe einen Kommentar