Khi thiết kế cấu trúc dữ liệu, hiểu được chi phí liên quan đến các hoạt động truy cập và sửa đổi là cần thiết. mỗi cái có tính chất riêng biệt ảnh hưởng đến khả năng thích ứng của chúng đối với các ứng dụng khác nhau.

Comment

Arrays cung cấp truy cập không đổi các yếu tố thông qua chỉ số, làm cho các thao tác phục hồi lại hiệu quả. Thay đổi một yếu tố tại một chỉ mục cụ thể cũng xảy ra trong thời gian không đổi. Tuy nhiên, chèn hay xoá yếu tố, đặc biệt là ở giữa một dãy, có thể được đắt tiền vì nó đòi hỏi sự thay đổi sau đó yếu tố.

Danh sách: Truy cập và sửa đổi

Danh sách, như danh sách liên kết, thường cần thiết giao tiếp để truy cập các yếu tố, dẫn đến sự phức tạp thời gian tuyến tính. Truy cập một yếu tố ở một vị trí cụ thể có thể bao gồm việc lặp lại qua nút. Những sự thay đổi như chèn hay xoá có thể hiệu quả nếu vị trí được biết, thường xảy ra trong thời gian không đổi khi nút đã định vị.

Quan tâm đến thiết kế

Chọn giữa các dãy và danh sách phụ thuộc vào các mẫu truy cập và sửa đổi của ứng dụng. Các tiến trình này thích hợp khi cần thiết, và các sửa đổi không thường xuyên. Danh sách thích hợp khi cần chèn và xoá thường xuyên, đặc biệt là ở giữa cấu trúc dữ liệu.

  • Arrays cung cấp O (1) [FLT: 1] thời gian truy cập
  • Các cuộc nổi dậy có các chèn/tách tốn kém ở giữa
  • Các danh sách cung cấp O(n)[FLT: 1] thời gian truy cập
  • Danh sách cho phép chèn/ xoá hiệu quả khi biết tham chiếu nút