1. Trang chủ
  2. » Tất cả

Cấu trúc dữ liệu và giải thuật chapter05 adt priority queue

24 0 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

HÀNG ĐỢI ƯU TIÊN Bùi Tiến Lên 01/01/2017 Dẫn nhập Một số ứng dụng kiểu hàng đợi thông thường không thể giải quyết được như I Sắp hàng mua vé thường sẽ ưu tiên cho người già, phụ nữ có thai, người tàn[.]

HÀNG ĐỢI ƯU TIÊN Bùi Tiến Lên 01/01/2017 Dẫn nhập Một số ứng dụng kiểu hàng đợi thông thường giải I I Sắp hàng mua vé: thường ưu tiên cho người già, phụ nữ có thai, người tàn tật Trạm thu phí: thường ưu tiên cứu thương, xe cứu hỏa Spring 2017 Data structure & Algorithm Hàng đợi ưu tiên Định nghĩa Hàng đợi ưu tiên (priority queue) hàng đợi phần tử gắn với số gọi độ ưu tiên I I Độ ưu tiên ứng dụng xác định Việc lấy phần tử khỏi hàng đợi dựa độ ưu tiên quy tắc FIFO Nghĩa phần tử có độ ưu tiên cao lấy trước Trong trường hợp có nhiều phần tử có độ ưu tiên sử dụng quy tắc FIFO Spring 2017 Data structure & Algorithm Các thao tác hàng đợi ưu tiên Các thao tác hàng đợi ưu tiên giống với hàng đợi bình thường I Khởi tạo hàng đợi rỗng I Xóa hàng đợi I Thêm phần tử vào hàng đợi (enqueue) I Lấy phần tử đỉnh khỏi hàng đợi (dequeue) I Lấy thông tin phần tử đỉnh hàng đợi (top) Spring 2017 Data structure & Algorithm Cài đặt hàng đợi ưu tiên Hàng đợi ưu tiên cài đặt I Bằng mảng I Bằng heap Spring 2017 Data structure & Algorithm Cấu trúc liệu heap Định nghĩa I I Cấu trúc liệu heap (heap tree) có thứ tự phận Trong phạm vi môn học xét heap nhị phân Cây max heap nhị phân nhị phân hồn chỉnh cho giá trị khóa nút p khơng nhỏ khóa trái phải ∀q ∈ {p → left, p → right} : q → key ≤ p → key I (1) Cây heap nhị phân nhị phân hoàn chỉnh cho giá trị khóa nút p khơng lớn khóa trái phải ∀q ∈ {p → left, p → right} : q → key ≥ p → key Spring 2017 Data structure & Algorithm (2) Minh họa heap t0 t1 t3 t7 t2 t4 t5 t6 t8 Hình 1: Thứ tự phần tử heap Spring 2017 Data structure & Algorithm Minh họa heap (cont.) 50 19 17 36 25 Hình 2: Cây max heap Spring 2017 Data structure & Algorithm Thao tác thêm phần tử Thao tác thêm phần tử vào hàng đợi ưu tiên cài đặt max heap sau I I Chèn phần tử với độ ưu tiên (khóa) v vào cuối heap Nếu độ ưu tiên (khóa) cao nút cha hốn đổi hai nút với lặp lại Spring 2017 Data structure & Algorithm Minh họa thao tác thêm phần tử Chèn phần tử có độ ưu tiên 66 vào hàng đợi ưu tiên biểu diễn max heap 68 65 32 31 20 26 19 24 21 13 Hình 3: Cây max heap Spring 2017 Data structure & Algorithm 10 Minh họa thao tác thêm phần tử (cont.) 68 65 32 31 20 26 19 13 24 21 66 Hình 4: Thêm phần tử 66 Spring 2017 Data structure & Algorithm 11 Minh họa thao tác thêm phần tử (cont.) 68 65 32 31 20 66 19 13 24 21 26 Hình 5: 66 hốn đổi với 26 Spring 2017 Data structure & Algorithm 12 Minh họa thao tác thêm phần tử (cont.) 68 66 32 31 20 65 19 13 24 21 26 Hình 6: Hoán đổi 66 với 65 Spring 2017 Data structure & Algorithm 13 Thao tác lấy phần tử Thao tác lấy phần tử khỏi hàng đợi cài đặt heap sau I Xóa phần tử gốc heap khỏi I Thay phần tử gốc phần tử cuối I Nếu độ ưu tiên hay thấp nút hốn đổi với nút có độ ưu tiên cao Spring 2017 Data structure & Algorithm 14 Minh họa thao tác lấy phần tử Lấy phần tử gốc có độ ưu tiên cao 68 khỏi max heap 68 65 32 31 20 26 19 24 21 13 Hình 7: Cây max heap Spring 2017 Data structure & Algorithm 15 Minh họa thao tác lấy phần tử (cont.) xx 65 32 31 20 26 19 24 21 13 Hình 8: Xóa phần tử 68 Spring 2017 Data structure & Algorithm 16 Minh họa thao tác lấy phần tử (cont.) 13 65 31 20 32 26 24 21 19 Hình 9: Thay phần tử 13 Spring 2017 Data structure & Algorithm 17 Minh họa thao tác lấy phần tử (cont.) 65 13 31 20 32 26 24 21 19 Hình 10: Hốn đổi 13 65 Spring 2017 Data structure & Algorithm 18 Minh họa thao tác lấy phần tử (cont.) 65 31 13 20 32 26 24 21 19 Hình 11: Hoán đổi 13 31 Spring 2017 Data structure & Algorithm 19 Minh họa thao tác lấy phần tử (cont.) 65 31 20 13 32 26 24 21 19 Hình 12: Hoán đổi 13 20 Spring 2017 Data structure & Algorithm 20 ... tiên cài đặt I Bằng mảng I Bằng heap Spring 2017 Data structure & Algorithm Cấu trúc liệu heap Định nghĩa I I Cấu trúc liệu heap (heap tree) có thứ tự phận Trong phạm vi môn học xét heap nhị phân... bình thường I Khởi tạo hàng đợi rỗng I Xóa hàng đợi I Thêm phần tử vào hàng đợi (enqueue) I Lấy phần tử đỉnh khỏi hàng đợi (dequeue) I Lấy thông tin phần tử đỉnh hàng đợi (top) Spring 2017 Data... cứu hỏa Spring 2017 Data structure & Algorithm Hàng đợi ưu tiên Định nghĩa Hàng đợi ưu tiên (priority queue) hàng đợi phần tử gắn với số gọi độ ưu tiên I I Độ ưu tiên ứng dụng xác định Việc lấy

Ngày đăng: 25/03/2023, 08:39

Xem thêm:

w