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

Các phương pháp sắp xếp theo nguyên tắc trộn Mục tiêu Giới thiệu một số phương pháp sắp xếp dựa trên nguyên tắc trộn. Giới thiệu một số kỹ thuật cài đặt các giải thuật sắp xếp trộn | r A j - i r 1 1 r L Ấ J 1 Bài 5 Các phương pháp săp xếp theo nguyên tăc trộn Mục tiêu Giới thiệu một số phương pháp sắp xếp dựa trên nguyên tắc trộn. Giới thiệu một số kỹ thuật cài đặt các giải thuật sắp xếp trộn Nội dung Nguyên tắc sắp xếp bằng phép trộn Trộn trực tiếp Giải thuật Cài đặt Nhận xét Trộn tự nhiên Khái niệm đường chạy Giải thuật Bài tập Bài tập lý thuy t Bài tập thực hành I. Nguyên tắc sắp xếp bằng phép trộn Để sắp xếp dãy a1 a2 . an giải thuật Merge Sort dựa trên nhận xét sau Mỗi dãy a1 a2 . an bất kỳ đều có thể coi như là một tập hợp các dãy con liên tiếp mà mồi dãy con đều đã có thứ tự. Ví dụ dãy 12 2 8 5 1 6 4 15 có thể coi như gồm 5 dãy con không giảm 12 2 8 5 1 6 4 15 . Dãy đã có thứ tự coi như có 1 dãy con. Như vậy một cách tiếp cận để sắp xếp dãy là tìm cách làm giảm số dãy con không giảm của nó. Đây chính là hướng tiếp cận của thuật toán sắp xếp theo phương pháp trộn. Trong phương pháp Merge sort mấu chốt của vấn đề là cách phân hoạch dãy ban đầu thành các dãy con. Sau khi phân hoạch xong dãy ban đầu sẽ được tách ra thành 2 dãy phụ theo nguyên tắc phân phối đều luân phiên. Trộn từng cặp dãy con của hai dãy phụ thành một dãy con của dãy ban đầu ta sẽ nhân lại dãy ban đầu nhưng với số lượng dãy con ít nhất giảm đi một nửa. Lặp lại qui trình trên sau một số bước ta sẽ nhận được 1 dãy chỉ gồm 1 dãy con không giảm. Nghĩa là dãy ban đầu đã được sắp xếp. II. Trộn Trực tiếp Giải thuật trộn trực tiếp là phương pháp trộn đơn giản nhất. Việc phân hoạch thành các dãy con đơn giản chỉ là tách dãy gồm n phần tử thành n dãy con. Đòi hỏi của thuật toán về tính có thứ tự của các dãy con luôn được thỏa trong cách phân hoạch này vì dãy gồm một phân tử luôn có thứ tự. Cứ mỗi lần tách rồi trộn chiều dài của các dãy con sẽ được nhân đôi. Các bước thực hiện thuật toán như sau Bước 1 Chuẩn bị k 1 k là chiều dài của dãy con trong bước hiện hành Bước 2 Tách dãy ai a2 . an thành 2 dãy b c theo nguyên tắc luân phiên từng nhóm k phần tử b ai . ak a2k i . a3k . c ak 1 . .

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.