1. Trang chủ
  2. » Cao đẳng - Đại học

Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 4 - Th.S Thiều Quang Trung

10 9 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nội dung

• Định nghĩa: Danh sách liên kết (DSLK) là một danh sách mà các phần tử được kết nối với nhau nhờ vào vùng liên kết của chúng.. • Một phần tử của DSLK bao gồm 2 vùng chính: – Vùng chứ[r]

(1)

C

HƯƠNG

K

IỂU

D

ANH

S

ÁCH

L

IÊN

K

ẾT

(2)

• Khái niệm danh sách liên kết

1

• Các phép tính danh sách liên kết đơn

2

• Các phép tính danh sách liên kết kép

3

• Ứng dụng danh sách liên kết

(3)

Danh sách liên kết

• Định nghĩa: Danh sách liên kết (DSLK) danh sách mà phần tử kết nối với nhờ vào vùng liên kết chúng

• Một phần tử DSLK bao gồm vùng chính: – Vùng chứa thơng tin

– Vùng chứa địa chỉ, cịn gọi vùng liên kết

• DSLK cấu trúc liệu động nên thực phép thêm vào, loại bỏ phần tử chạy chương trình

• Việc lưu trữ DSLK tốn nhớ danh sách đặc phải chứa thêm vùng liên kết

(4)

– Danh sách liên kết đơn: phần tử liên kết với phần tử đứng sau danh sách:

– Danh sách liên kết kép: phần tử liên kết với phần tử đứng trước sau danh sách:

– Danh sách liên kết vòng: phần tử cuối danh sách liên kết với phần tử đầu danh sách:

A B X Z Y

(5)

Danh sách liên kết

– Danh sách liên kết đơn vòng

– Danh sách liến kết kép vòng

5 GV Thiều Quang Trung

A B X Z Y

(6)

1 Khởi tạo danh sách

2 Kiểm tra danh sách rỗng

3 Tìm kiếm phần tử danh sách Thêm phần tử vào danh sách

5 Hủy phần tử khỏi danh sách Duyệt danh sách

(7)

Danh sách liên kết đơn

• Định nghĩa: DSLK đơn loại DSLK mà vùng địa phần tử chứa địa phần tử

• Phần tử cuối DSLK đơn trỏ đến NULL

GV Thiều Quang Trung

A B X Z Y

head

(8)

• Ví dụ: Ta có danh sách theo dạng bảng sau Ta có danh sách liên kết :

Joe – Marta – Bill – Koch - Sahra

Address Name Age Link

100 Joe 20 140

110 Bill 42 500

140 Marta 27 110

230 Sahra 25 NULL

… … …

(9)

Cài đặt danh sách liên kết đơn

• Khai báo kiểu phần tử kiểu danh sách liên kết đơn • Để đơn giản ta xét node gồm vùng chứa liệu kiểu

số nguyên:

typedef struct NODE // kiểu của một phần tử trong danh sách

{

int info;

NODE *pNext; };

typedef struct LIST // kiểu danh sách liên kết

{

NODE *phead; };

• Trong thực tế biến info kiểu struct

(10)

Ngày đăng: 11/03/2021, 10:34

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w