Menurut artikel Wikipedia tentang daftar tertaut , memasukkan di tengah daftar tertaut dianggap O (1). Saya akan berpikir itu akan menjadi O (n). Tidakkah Anda perlu menemukan node yang mungkin berada di dekat akhir daftar?
Apakah analisis ini tidak memperhitungkan penemuan operasi node (meskipun diperlukan) dan hanya penyisipan itu sendiri?
EDIT :
Daftar tertaut memiliki beberapa keunggulan dibandingkan array. Penyisipan elemen pada titik tertentu dari daftar adalah operasi waktu-konstan, sedangkan penyisipan dalam array mungkin memerlukan pemindahan setengah dari elemen, atau lebih.
Pernyataan di atas sedikit menyesatkan saya. Koreksi saya jika saya salah, tetapi menurut saya kesimpulannya harus:
Array:
- Menemukan titik penyisipan / penghapusan O (1)
- Melakukan penyisipan / penghapusan O (n)
Daftar Tertaut:
- Menemukan titik penyisipan / penghapusan O (n)
- Melakukan penyisipan / penghapusan O (1)
Saya pikir satu-satunya saat Anda tidak perlu menemukan posisi adalah jika Anda menyimpan semacam penunjuk ke sana (seperti kepala dan ekor dalam beberapa kasus). Jadi kami tidak bisa secara langsung mengatakan bahwa daftar tertaut selalu mengalahkan array untuk opsi sisipkan / hapus.