TAILIEUCHUNG - Bài giảng Cấu trúc dữ liệu và giải thuật: Hàng đợi ưu tiên - Nguyễn Mạnh Hiển (HKI năm 2020-2021)

Bài giảng "Cấu trúc dữ liệu và giải thuật: Hàng đợi ưu tiên" cung cấp cho người học các kiến thức: Hàng đợi ưu tiên, cài đặt hàng đợi ưu tiên, đống nhị phân, cây nhị phân đầy đủ, cài đặt cây nhị phân đầy đủ, . | Hàng đợi ưu tiên Priority Queues Nguyễn Mạnh Hiển hiennm@ Hàng đợi ưu tiên Phần tử nhỏ nhất có độ ưu tiên cao nhất và sẽ được lấy ra đầu tiên. Chèn insert Thời gian O log N Xóa phần tử nhỏ nhất deleteMin Thời gian O log N Cài đặt hàng đợi ưu tiên Dùng danh sách liên kết insert dùng pushFront mất thời gian O 1 . deleteMin quét tìm rồi xóa min mất thời gian O N . Dùng cây nhị phân tìm kiếm insert và deleteMin mất thời gian O log N . Tuy nhiên cây nhị phân tìm kiếm quá phức tạp cho yêu cầu đơn giản hơn của hàng đợi ưu tiên. Đống nhị phân binary heap Là cách cài đặt phổ biến của hàng đợi ưu tiên. insert và deleteMin mất thời gian O log N . Đống nhị phân Gọi tắt là đống. Thỏa mãn 1. Là cây nhị phân đầy đủ. 2. Có tính chất thứ tự đống. Cây nhị phân đầy đủ Là cây nhị phân với tất cả các mức trừ mức dưới cùng đã được lấp đầy các nút từ trái sang phải. Số nút n 20 21 . 2h 1 1 2h h log n Mức 0 có 20 nút Mức 1 có 21 nút Mức 2 có 22 nút Mức h có ít nhất 1 nút h là chiều cao của cây Cài đặt cây nhị phân đầy đủ Lưu trữ các phần tử lần lượt từng mức vào vector v. Cha của v k là v k 2 . Con trái của v k là v 2k . Con phải của v k là v 2k 1 . vector v Tính chất thứ tự đống Với mọi nút X trên đống giá trị của X nhỏ hơn giá trị của các nút con trái và phải của X. Suy ra Phần tử nhỏ nhất trên đống nằm ở gốc. Không có thứ tự nào giữa các nút con của cùng một nút. 0 3 2 4 5 Cây nào là đống Cài đặt hàng đợi ưu tiên trong C template class BinaryHeap public BinaryHeap int capacity 100 Khởi tạo đống rỗng BinaryHeap const vector amp elems Dựng đống const T amp findMin Tìm phần tử nhỏ nhất ở gốc void insert const T amp x Chèn x vào đống void deleteMin Xóa phần tử nhỏ nhất ở gốc private int currentSize Số phần tử hiện có vector array Vector chứa các phần tử void buildHeap Giúp dựng đống trong hàm tạo void percolateDown int hole Giúp xóa min và dựng đống Chèn vào đống insert 14 Chèn vào đống insert x Tạo lỗ trống hole ở vị trí có sẵn tiếp theo trong đống x là giá trị của lỗ trống .

TỪ KHÓA LIÊN QUAN
TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.