Hiểu được sự phức tạp thời gian của các hoạt động danh sách liên kết là thiết yếu để đánh giá hiệu quả của chúng. bài báo này cung cấp một phân tích từng bước một rõ ràng về các hoạt động chung và chi phí máy tính của họ.

Hoạt động cơ bản và sự phức tạp của chúng

Danh sách các thao tác liên kết bao gồm chèn, xoá, và chuyển tiếp. Mỗi thao tác phức tạp thời gian phụ thuộc vào việc danh sách này có liên kết theo điệu bộ hay hai lần hay không và cho dù vị trí của thao tác này được biết đến.

Thao tác xâm nhập

Việc chèn nút vào đầu danh sách liên kết đòi hỏi thời gian không đổi, [FLT: 0] O [FLT: 1], vì nó bao gồm việc cập nhật một vài con trỏ. Tuy nhiên, việc chèn vào một vị trí cụ thể đòi hỏi phải đi qua danh sách đó, cần phải có thời gian tuyến tính, [FLT: 2] O [FLT:] [FLT] [FLT:]].

Thao tác xoá

Việc xóa nút đầu tiên là một [FLT: 0] O [FLT: 1], vì nó chỉ liên quan đến việc cập nhật con trỏ. Việc xóa một nút ở một vị trí cụ thể đòi hỏi phải qua liên kết đến nút đó, kết quả là sự phức tạp [FLT: 2] [n] [FLT:].

Tra tấn và tìm kiếm

Dùng danh sách liên kết để tìm một yếu tố cụ thể hoặc đến cuối bao gồm việc viếng thăm mỗi nút một lần, dẫn đến sự phức tạp thời gian [FLT: 0] [n] [FLT: 1].

  • Chèn vào đầu: [FLT: 0] O(1)
  • Chèn vào vị trí: [FLT: 0] O (n)
  • Bỏ ở đầu: [FLT: 0] O(1)
  • Xóa vị trí: [FLT: 0] O(n)
  • Traversal/Sunse: O(n))