TAILIEUCHUNG - Cấu trúc dữ liệu và giải thuật I - Bài 4

Các phương pháp sắp xếp NlogN Mục tiêu Giới thiệu ý tưởng cải tiến từ các phương pháp sắp sếp cơ bản. Giới thiệu các phương pháp sắp xếp có độ phức tạp NlogN Tổ chức cấu trúc dữ liệu và cài đặt các giải thuật sắp xếp NlogN . | r A J r 1 1 r L k ATI AT Bài 4 Các phương pháp săp xêp NlogN Mục tiêu Giới thiệu ý tưởng cải tiến từ các phương pháp sắp sếp cơ bản. Giới thiệu các phương pháp sắp xếp có độ phức tạp NlogN Tổ chức cấu trúc dữ liệu và cài đặt các giải thuật sắp xếp NlogN . Nội dung Sắp xếp cây - Heap sort Giải thuật Sắp xếp cây Cấu trúc dữ liệu heap Cài đặt Heapsort Sắp xếp với độ dài bước giảm dần - Shell sort Giải thuật Sắp xếp chèn với độ dài bước giảm dần Cài đặt Shellsort I. Sắp xếp cây - Heap sort 1. Giải thuật Sắp xếp cây Khi tìm phần tử nhỏ nhất ở bước i phương pháp sắp xếp chọn trực tiếp không tận dụng được các thông tin đã có được do các phép so sánh ở bước i-1. Vì lý do trên người ta tìm cách xây dựng một thuật toán sắp xếp có thể khắc phục nhược điểm này. Mấu chôt để giải quyết vấn đề vừa nêu là phải tìm ra được một cấu trúc dữ liệu cho phép tích lũy các thông tin về sự so sánh giá trị các phần tử trong qua trình sắp xếp. Giả sử dữ liệu cần sắp xếp là dãy số 5 2 6 4 8 1được bố trí theo quan hệ so sánh và tạo thành sơ đồ dạng cây như sau Trong đó một phần tử ở mức i chính là phần tử lớn trong cặp phần tử ở mức i 1 do đó phần tử ở mức 0 nút gốc của cây luôn là phần tử lớn nhất của dãy. Nếu loại bỏ phần tử gốc ra khỏi cây nghĩa là đưa phần tử lớn nhất về đúng vị trí thì việc cập nhật cây chỉ xảy ra trên những nhánh liên quan đến phần tử mới loại bỏ còn các nhánh khác được bảo toàn nghĩa là bước kế tiếp có thể sử dụng lại các kết quả so sánh ở bước hiện tại. Trong ví dụ trên ta có Loại bỏ 8 ra khỏi cây và thế vào các chỗ trống giá trị - để tiện việc cập nhật lại cây Có thể nhận thấy toàn bộ nhánh trái của gốc 8 cũ được bảo toàn do vậy bước kế tiếp để chọn được phần tử lớn nhất hiện hành là 6 chỉ cần làm thêm một phép so sánh 1 với 6. Tiến hành nhiều lần việc loại bỏ phần tử gốc của cây cho đến khi tất cả các phần tử của cây đều là - khi đó xếp các phần tử theo thứ tự loại bỏ trên cây sẽ có dãy đã sắp xếp. Trên đây là ý tưởng của giải thuật sắp xếp cây. 2. Cấu trúc dữ liệu .

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.