L= <VL, OL >

Một phần của tài liệu Giáo trình cấu trúc dữ liệu và giải thuật (Trang 53 - 54)

với:

- VL là tập các phần tử cĩ kiểu T được mĩc nối theo kiểu thứ tự tuyến tính.

- OL gồm các tốn tử: tạo danh sách, duyệt danh sách, tìm một đối tượng (thỏa một tính chất nào đĩ) trên danh sách, chèn một đối tượng vào danh sách, hủy một đối tượng khỏi danh sách, sắp xếp danh sách theo một quan hệ thứ tự nào đĩ, …

III.2.2. Các cách tổ chức danh sách

hai cách chính để tổ chức danh sách tùy thuộc vào cách tổ chức trình tự tuyến tính các phần tử của danh sách theo kiểu ngầm hay tường minh.

Ta cĩ thể tổ chức trình tự tuyến tính theo kiểu ngầm thơng qua chỉ số (như

mảng hay file). Phần tử xi+1được xem là phần tử kề sau của xi. Với cách này, các phần tử của danh sách sẽđược lưu trữ liên tiếp trong một vùng nhớ liên tục. Việc

truy nhập các phần tử được thực hiện thơng qua cơng thức dịch địa chỉ để xác

định địa chỉ bắt đầu củaphần tử thứ i (nếu phần tửđầu tiên được đánh số là 0):

Địa chỉ bắt đầu danh sách + i*(kích thước của T)

Áp dụng cách tổ chức này, mảng hạn chếsố phần tử tối đa của mảng bị giới hạn cốđịnh (vùng nhớđược cấp phát liên tục cho mảng được thực hiện khi

biên dịch đoạn chương trình chứa khai báo biến mảng đĩ); do đĩ việc sử dụng bộ nhớ sẽ ít linh động và kém hiệu quả. Ngồi ra, các thao tác thêm hủy sẽ bất tiện và chiếm nhiều thời gian để dời chỗ các dãy con của danh sách. Bù lại, việc truy xuất trực tiếp các phần tử của mảng trên vùng nhớ liên tục sẽnhanh.

Đểkhắc phục các hạn chếtrên, ta cĩ thể tổ chức danh sách tuyến tính theo kiểu mĩc nối (hay liên kết và gọi là danh sách liên kết) ở dạng tường minh: mỗi phần tử ngồi thành phần thơng tin về dữ liệu cịn chứa thêm liên kết (địa chỉ) đến phần tử kếtiếp trong danh sách. Khi đĩ, các phần tử của danh sách khơng nhất thiết phải được lưu trữ kế tiếp trong một vùng nhớ liên tục. Tuy nhiên, do việc truy xuất đến các phần tử của danh sách là tuần tự, nên một số thuật tốn trên danh sách được cài đặt theo kiểu liên kết sẽ bị chậm hơn.

Sau đây, ta sẽ chủ yếu tập trung khảo sát các kiểu danh sách liên kết động

được cài đặt bởi con trỏ: DSLK đơn (cĩ hoặc khơng cĩ nút câm), DSLK đối xứng, DSLK vịng, DSLK đa liên kết và một sốứng dụng của chúng.

Một phần của tài liệu Giáo trình cấu trúc dữ liệu và giải thuật (Trang 53 - 54)