Đồ án nhập môn phân tích độ phức tạp thuật toán đề tài đánh giá các thuật toán sort

10 702 13
Đồ án nhập môn phân tích độ phức tạp thuật toán đề tài đánh giá các thuật toán sort

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

Thông tin tài liệu

BỘ MÔN KHOA HỌC MÁY TÍNH ………………………………………………………… Đồ án Nhập Môn Phân Tích Độ Phức Tạp Thuật Toán Đề tài: Đánh giá thuật toán Sort Giảng viên hướng dẫn lý thuyết TS Trần Đan Thư Giảng viên hướng dẫn thực hành Dương Chí Nhân Nhóm thực 0712002 – Nguyễn Thanh Đồng 0712228 – Trần Trung Kiên 0712394 – Bành Trí Thành 0712474 – Nguyễn Trọng Nhật Trung 0712476 – Phan Thanh Trí TP.HCM, tháng 05 năm 2010 SELECTION SORT Ý tưởng thuật toán  Ta chọn phần tử nhỏ N phần tử ban đầu, đưa phần tử đầu dãy hành Sau đó, ta không quan tâm đến nữa, ta xem dãy hành N-1 phần tử dãy ban đầu tính từ vị trí thứ Cứ vậy, dãy hành phần tử, ta dãy tăng  Các bước tiến hành sau: o Bước 1: Khởi động i = o Bước 2: Tìm phần tử nhỏ a[min] dãy hành từ a[i] đến a[N] o Bước 3: Hoán vị a[min] a[i] o Bước 4: i = i+1  Nếu i < =N-1: quay trở lại bước  Ngược lại: STOP! Độ phức tạp Để chọn phần tử nhỏ nhất, ta cần duyệt qua n phần tử (tốn n-1 phép so sánh) sau hoán vị với phần tử dãy hành Để tìm phần tử nhỏ tiếp theo, ta cần duyệt qua n-1 phần tử (tốn n-2 phép so sánh) Cứ vậy, ta thấy thuật toán tốn (n-1) + (n-2) + … + = n(n-1)/2 = O(n 2) phép so sánh Mỗi lần duyệt, ta phải hoán vị lần (1 hoán vị tương đương với phép gán), nghĩa thuật toán tốn 3(n-1) + 3(n-2) + … + = 3n(n-1)/2 = O(n2) phép gán Tổng kết lại, ta có độ phức tạp thuật toán Selection Sort thuộc O(n 2) trường hợp Các thuật toán Sort Page INTERCHANGE SORT Ý tưởng thuật toán  Ý tưởng thuật toán ta tìm cặp nghịch triệt tiêu chúng Ta xuất phát từ phần tử dãy, tìm tất các cặp nghịch chứa phần tử này, triệt tiêu chúng hoán vị phần tử với phần tử tương ứng cặp nghịch Ta dễ nhận thấy sau lần duyệt đầu tiên, phần tử phần tử nhỏ dãy Ta tiếp tục xử lý với phần tử thứ hai, ta có phần tử thứ hai phần tử nhỏ thứ hai dãy Cứ vậy, sau xử lý với phần tử thứ N -1 dãy, ta dãy tăng  Các bước tiến hành sau: o Bước 1: Khởi động i = o Bước 2: j = i+1 o Bước 3: Trong j a[j]: Hoán vị a[i] a[j]  j = j+1 o Bước 4: i = i+1  Nếu i i thực hiện:  Nếu a[j] ... = O(n2) phép gán Tổng kết lại, ta có độ phức tạp thuật toán Selection Sort thuộc O(n 2) trường hợp Các thuật toán Sort Page INTERCHANGE SORT Ý tưởng thuật toán  Ý tưởng thuật toán ta tìm cặp... phức tạp Quick Sort sau:  Trường hợp tốt nhất: O(nlog2(n))  Trường hợp xấu nhất: O(n2)  Trường hợp trung bình: O(nlog2(n)) Các thuật toán Sort Page SHELL SORT Ý tưởng thuật toán Độ phức tạp Các. .. phức tạp QUICK SORT Ý tưởng thuật toán  QuickSort chia mảng thành hai danh sách cách so sánh phần tử danh sách với phần tử chọn gọi phần tử chốt Những phần tử Các thuật toán Sort Page nhỏ phần

Ngày đăng: 23/12/2015, 08:46

Từ khóa liên quan

Mục lục

  • SELECTION SORT

    • Ý tưởng thuật toán

    • Độ phức tạp

    • INTERCHANGE SORT

      • Ý tưởng thuật toán

      • Độ phức tạp

      • BUBBLE SORT

        • Ý tưởng thuật toán

        • Độ phức tạp

        • INSERTION SORT

          • Ý tưởng thuật toán

          • Độ phức tạp

          • HEAP SORT

            • Ý tưởng thuật toán

            • Độ phức tạp

            • MERGE SORT

              • Ý tưởng thuật toán

              • Độ phức tạp

              • BINARY TREE

                • Ý tưởng thuật toán

                • Độ phức tạp

                • QUICK SORT

                  • Ý tưởng thuật toán

                  • Độ phức tạp

                  • SHELL SORT

                    • Ý tưởng thuật toán

                    • Độ phức tạp

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan