Mặc dù câu hỏi này đã được trả lời, tôi bằng cách nào đó không hài lòng với câu trả lời (không có vi phạm nghĩa), vì vậy đây là làm thế nào tôi sẽ trả lời với nó:
gì để sử dụng - Danh mục đơn lẻ hoặc là lợi đôi đường liên kết phụ thuộc vào những gì bạn dự định đạt được và những hạn chế hệ thống, nếu có.
danh sách đơn lẻ liên kết:
Ưu điểm: đơn giản trong thực hiện, đòi hỏi bộ nhớ tương đối thấp hơn cho việc lưu trữ, giả sử bạn cần phải xóa/chèn (at) nút tiếp theo - xóa/chèn nhanh.
Nhược điểm: Không thể lặp lại ngược lại, cần duy trì một nút điều khiển cho nút đầu của danh sách khác, danh sách sẽ bị mất trong bộ nhớ. Nếu bạn đang xóa nút trước đó hoặc chèn vào nút trước đó, bạn sẽ cần phải duyệt danh sách từ đầu đến nút trước đó để có thể thực hiện các hoạt động đó - thời gian O (N).
--Vì vậy, điều này sẽ được sử dụng khi bạn có bộ nhớ thấp hơn và mục tiêu chính của bạn là chèn/xóa và không tìm kiếm các yếu tố.
Danh sách được liên kết đôi:
Ưu điểm: Có thể được lặp lại theo hướng ngược lại cũng như ngược lại. Trong trường hợp cần xóa nút trước đó, không cần phải đi qua từ nút đầu, vì nút bị xóa có thể được tìm thấy từ con trỏ ‘.previous’.
Nhược điểm: Tương đối phức tạp để triển khai, yêu cầu bộ nhớ nhiều hơn để lưu trữ (con trỏ 1 '.previous' trên mỗi nút). Chèn và xóa tương đối tốn nhiều thời gian hơn (gán/chỉ định lại con trỏ '.previous' cho các nút lân cận)
--Điều này sẽ được sử dụng khi bạn không có hoặc hạn chế tối thiểu bộ nhớ, và mục tiêu chính của bạn là tìm kiếm các phần tử .
Nếu có một số ưu và nhược điểm khác, vui lòng thêm, trả lời trong nhận xét. Cảm ơn!
Một thiết bị linh hoạt hơn, thiết bị kia yêu cầu chi phí cao hơn. Ngoài ra, danh sách được liên kết của bạn thực sự là danh sách được liên kết tròn. – robert
Tôi đã sử dụng những hình ảnh đó để đưa ra một thực tế. – Tarik
Bạn có thể muốn xem [plain-linked-and-double-linked-lists-when-and-why] (http://stackoverflow.com/questions/712429/plain-linked-and-double-linked-lists- khi nào và tại sao) – nawfal