Zgodnie z artykułem Wikipedii dotyczącym list połączonych , wstawianie w środku listy , do której prowadzą linki, jest uważane za O (1). Myślę, że to będzie O (n). Czy nie musiałbyś zlokalizować węzła, który mógłby znajdować się blisko końca listy?
Czy ta analiza nie uwzględnia znalezienia operacji węzła (choć jest to wymagane) i samego samego wstawienia?
EDYCJA :
Listy połączone mają kilka zalet w porównaniu z tablicami. Wstawienie elementu w określonym miejscu listy jest operacją wykonywaną w czasie stałym, natomiast wstawienie do tablicy może wymagać przesunięcia połowy lub więcej elementów.
Powyższe stwierdzenie jest dla mnie trochę mylące. Popraw mnie, jeśli się mylę, ale myślę, że wniosek powinien być taki:
Tablice:
- Znajdowanie punktu wstawienia / usunięcia O (1)
- Wykonywanie wstawiania / usuwania O (n)
Połączone listy:
- Znalezienie punktu wstawienia / usunięcia O (n)
- Wykonywanie wstawiania / usuwania O (1)
Myślę, że jedynym momentem, w którym nie musiałbyś znaleźć pozycji, jest zachowanie jakiegoś wskaźnika (tak jak w niektórych przypadkach w przypadku głowy i ogona). Nie możemy więc jednoznacznie powiedzieć, że połączone listy zawsze pokonują tablice w przypadku opcji wstawiania / usuwania.