... thuyết thuật toán quan tâm đến vấn đề sau : Giảithuật toán : Lớp toán giảithuật toán, lớp toán không giảithuật toán Tối ưu hóa thuật toán : Thay thuật toán chưa tốt thuật toán tốt Triển khai thuật ... Tuấn Minh Khoa Toán-Tin Thiết kế đánhgiáthuật toán -6- LỜI NÓI ĐẦU Giáo trình “ Thiết kế đánhgiáthuật toán “ có nội dung tiếp sau giáo trình “Cấu trúc liệu thuật toán 1” “ Toán cao cấp A4”, ... tập giáo trình hoàn thành Đàlạt, ngày 10 tháng 11 năm 2002 TRẦN TUẤN MINH Trần Tuấn Minh Khoa Toán-Tin Thiết kế đánhgiáthuật toán -8- CHƯƠNG : GIỚI THIỆU THIẾT KẾ, ĐÁNHGIÁTHUẬT TOÁN Thuật...
... Nguyễn Hữu Tuân ài giảng môn học Phân tích thiết kế đánhgiágiảithuật CHƯƠNG I C C H I NIỆ CƠ ẢN Thuật toán (giải thuật) - Algorithm 1.1 Đ nh ngh a thuật toán C a p Te ố s a Algorithms Se T mas ... th s e Sa ài giảng môn học Phân tích thiết kế đánhgiágiảithuật hối C l p x l Độ phức tạp thuật toán – Algorithm Complexity Các tiêu chí đánhgiáthuật toán Tô dựa ê m ộ tốt, x u so sánh thu ... giảng môn học Phân tích thiết kế đánhgiágiảithuật số ài tập H y a số ài tập p ụ a s ượ a ả số a yê ố ả số yê N 12 ài giảng môn học Phân tích thiết kế đánhgiágiảithuật CHƯƠNG II: S P XẾP (S RTING)...
... alpha-beta, nhánh cận tìm kiếm địa phương Với kĩ thuật cần nắm được: • Nội dung kĩ thuật • Vận dụng kĩ thuật vào giải toán thực tế • Đánhgiágiảithuật 3.1.2 Kiến thức cần thiết Các cấu trúc liệu, ... Kĩ thuật thiết kế giảithuật m C lic k to Giảithuật w w w C bu y N O W ! XC er O W F- w PD h a n g e Vi e ! XC er PD F- c u -tr a c k c h a n g e Vi e N bu y c Đầu tiên ta nghĩ đến giảithuật ... kế giảithuật có hiệu kĩ thuật "chia để trị" (divide and conquer) Nội dung là: Ðể giải toán kích thước n, ta chia toán cho thành số toán có kích thưóc nhỏ Giải toán tổng hợp kết lại để lời giải...
... kỳ Theo phân tích giảithuật Bin Sort kì lấy O(n) thời gian, hai kì nối tiếp nên thời gian tổng cộng O(n) 2.6.3.1 Chứng minh giảithuật Ðể thấy tính đắn giảithuật ta xem các giá trị khóa nguyên ... Sắp xếp c C m Giảithuật o d o w w w w w C lic k to bu y N O W ! XC er O W F- w PD h a n g e Vi e ! XC er PD F- c u -tr a c k c h a n g e Vi e c u -tr a c k w N y Ta sử dụng 10 bin đánh số từ đến ... hợp tổng quát Là trường hợp có nhiều phần tử có chung giá trị khóa, chẳng hạn để mảng A có n phần tử mà giá trị khóa chúng số nguyên lấy giá trị khoảng m với m
... hai dòng Dòng ghi giá trị khoá ban đầu mảng Dòng ghi giá trị khoá sau có hoán đổi Nguyễn Văn Linh Trang 37 k to bu Trình bày heapsort mảng lic d o m w o Sắp xếp c C m Giảithuật o d o w w w w ... k to bu Thứ tự ghi từ trái sang phải, tức số bên trái giá trị khoá sau thực việc hoán đối trình PushDown lic d o m w o Sắp xếp c C m Giảithuật o d o w w w w w C lic k to bu y N O W ! XC er O ... 8] Tiếp tục trình ta mảng có thứ tự giảm Nguyễn Văn Linh Trang 36 d o m o w c Chỉ số Heap C m Giảithuật o d o w w w w w C lic k to bu y N O W ! XC er O W F- w PD h a n g e Vi e ! XC er PD F-...
... 2T( ) + n nêu n > Giải phương trình đệ quy ta T(n) = O(nlogn) 2.5 HEAPSORT 2.5.1 Ðịnh nghĩa Heap Cây thứ tự phận hay gọi heap nhị phân mà giá trị nút (khác nút lá) không lớn giá trị của Ta có ... xét nút gốc a[1] thứ tự phận có giá trị nhỏ Ví dụ 2-5: Cây sau heap 6 Hình 2-7: Một heap Nguyễn Văn Linh Trang 31 k to bu n +1 lic d o m w o Sắp xếp c C m Giảithuật o d o w w w w w C lic k to ... vào giá trị khoá nút (3) Hoán đổi a[1] cho cho phần tử cuối (4) Sắp lại sau bỏ phần tử cuối để trở thành heap Lặp lại trình (3) (4) nút ta mảng theo thứ tự giảm 2.5.3 Thiết kế cài đặt giải thuật...
... số phần tử mảng (từ đến 10) Nguyễn Văn Linh Trang 26 k to bu 2.4.2.3 Giảithuật QuickSort lic d o m w o Sắp xếp c C m Giảithuật o d o w w w w w C lic k to bu y N O W ! XC er O W F- w PD h a n ... Trang 27 k to bu Trong dòng khoá ban đầu, giá trị khoá dòng (5, 8, 2, 10, 5, 12, 8, 1, 15 4) giá trị khoá mảng cho ban đầu, giá trị khoá dòng (4, 1, 10 8) giá trị khoá sau thực hoán đổi a[2] với ... 2.4.3 Cài đặt giảithuật 2.4.3.1 Hàm FindPivot Ta thiết kế hàm FindPivot để xác định dãy a[i] a[j] có hay không hai phần tử có khóa khác Nếu không tìm thấy hai phần tử có khóa khác trả giá trị (không...
... Các giảithuật đơn giản thường lấy O(n2) thời gian để xếp n đối tượng giảithuật thường dùng để danh sách có đối tượng Với giảithuật nghiên cứu phần: giải thuật, ví dụ, chương trình phân tích đánh ... 2.3.2.1 Giảithuật Trước hết ta xem phần tử a[1] dãy có thứ tự Nguyễn Văn Linh Trang 21 k to bu Khóa Bước Ban đầu Bước Bước Bước Bước Bước Bước Bước Bước Bước Kết lic d o m w o Sắp xếp c C m Giảithuật ... kết thúc Bảng sau ghi lại giá trị khoá tương ứng với bước Nguyễn Văn Linh Trang 20 k to bu PROCEDURE VAR temp BEGIN temp x := y := END; lic d o m w o Sắp xếp c C m Giảithuật o d o w w w w w C...
... sau: 1.- Sự phân tích, đánhgiágiảithuật cần thiết để lựa chọn giảithuật tốt, để cải tiến giảithuật 2.- Sử dụng khái niệm độ phức tạp ký hiệu ô lớn để đánhgiágiảithuật 3.- Đối với chương ... phương pháp xếp Với phương pháp cần nắm vững phần sau: - Giảithuật xếp - Minh họa việc xếp theo giảithuật - Chương trình xếp - Đánhgiágiảithuật 2.1.2 Kiến thức cần thiết Các kiến thức cần thiết ... chập k n b) Tính thời gian thực giảithuật nói Nguyễn Văn Linh Trang 17 to k d o m o o c u -tr a c k w lic w w w d o Kĩ thuật phân tích giảithuật m C lic k to Giảithuật w w w C bu y N O W ! XC...
... w w d o Kĩ thuật phân tích giảithuật m C lic k to Giảithuật w w w C bu y N O W ! XC er O W F- w PD h a n g e Vi e ! XC er PD F- c u -tr a c k c h a n g e Vi e N bu y c Ví dụ 1-13: Giải phương ... log n + b] + C2n Trang 11 to k d o m o o c u -tr a c k w lic w w w d o Kĩ thuật phân tích giảithuật m C lic k to Giảithuật w w w C bu y N O W ! XC er O W F- w PD h a n g e Vi e ! XC er PD F- ... Nguyễn Văn Linh Trang 12 to k d o m o o c u -tr a c k w lic w w w d o Kĩ thuật phân tích giảithuật m C lic k to Giảithuật w w w C bu y N O W ! XC er O W F- w PD h a n g e Vi e ! XC er PD F-...
... hàm trả giá trị logic TRUE tồn phần tử a[i] = x, ngược lại hàm trả FALSE Nguyễn Văn Linh Trang to k d o m o o c u -tr a c k w lic w w w d o Kĩ thuật phân tích giảithuật m C lic k to Giảithuật ... sau: Nguyễn Văn Linh Trang to k d o m o o c u -tr a c k w lic w w w d o Kĩ thuật phân tích giảithuật m C lic k to Giảithuật w w w C bu y N O W ! XC er O W F- w PD h a n g e Vi e ! XC er PD F- ... quy Nguyễn Văn Linh Trang to k d o m o o c u -tr a c k w lic w w w d o Kĩ thuật phân tích giảithuật m C lic k to Giảithuật w w w C bu y N O W ! XC er O W F- w PD h a n g e Vi e ! XC er PD F-...
... TÍCH GIẢITHUẬT Trong giải toán có số giảithuật khác nhau, vấn đề cần phải đánhgiágiảithuật để lựa chọn giảithuật tốt (nhất) Thông thường ta vào tiêu chuẩn sau: 1.- Giảithuật đắn 2.- Giảithuật ... sau: - Tại cần phân tích đánhgiágiải thuật? - Tiêu chuẩn để đánhgiágiảithuật tốt? - Phương pháp đánh nào? (đánh giá chương trình không gọi chương trình con, đánhgiá chương trình có gọi chương ... 3.- Giảithuật thực nhanh Với yêu cầu (1), để kiểm tra tính đắn giảithuật cài đặt giảithuật cho thực máy với số liệu mẫu lấy kết thu so sánh với kết biết Thực cách làm không chắn giải thuật...
... có số giảithuật khác nhau, vấn đề cần phải đánhgiágiảithuật để lựa chọn giảithuật tốt (nhất) Thông thường ta vào tiêu chuẩn sau: 1.- Giảithuật đắn 2.- Giảithuật đơn giản 3.- Giảithuật ... sau: - Tại cần phân tích đánhgiágiải thuật? - Tiêu chuẩn để đánhgiágiảithuật tốt? - Phương pháp đánh nào? (đánh giá chương trình không gọi chương trình con, đánhgiá chương trình có gọi chương ... Kĩ thuật phân tích giảithuậtGiảithuật C bu y N O W ! XC er O W F- w PD h a n g e Vi e ! XC er PD F- c u -tr a c k c h a n g e Vi e N bu y c 1.2 SỰ CẦN THIẾT PHẢI PHÂN TÍCH GIẢITHUẬT Trong giải...
... lic O W N y bu to k lic C Kĩ thuật phân tích giảithuật w w d o XC er Giảithuật w w w F- w C h a n g e Vi e ! XC er PD F- c u -tr a c k c h a n g e Vi e y N c Giảithuật tìm kiếm so sánh x với ... Linh Trang bu to k d o m o m o c u -tr a c k w lic to k C lic w w w d o w w w Kĩ thuật phân tích giảithuậtGiảithuật C bu y N O W ! XC er O W F- w PD h a n g e Vi e ! XC er PD F- c u -tr a c ... O W ! PD m w o c u -tr a c k h a n g e Vi e lic O W N y bu to k lic C Kĩ thuật phân tích giảithuật w w d o XC er Giảithuật w w w F- w C h a n g e Vi e ! XC er PD F- c u -tr a c k c h a n g...
... to k C lic w w w d o w w w Kĩ thuật phân tích giảithuậtGiảithuật C bu y N O W ! XC er O W F- w PD h a n g e Vi e ! XC er PD F- c u -tr a c k c Ví dụ 1-13: Giải phương trình T(n) = C1 nêu ... m o c u -tr a c k h a n g e Vi e lic O W N y bu to k C lic w w w d o XC er Kĩ thuật phân tích giảithuậtGiảithuật w w w F- w C h a n g e Vi e ! XC er PD F- c u -tr a c k c h a n g e Vi e N ... Nguyễn Văn Linh Trang 12 to k d o m o o c u -tr a c k w lic w w w d o Kĩ thuật phân tích giảithuật m C lic k to Giảithuật w w w C bu y N O W ! XC er O W F- w PD h a n g e Vi e ! XC er PD F-...
... sau: 1.- Sự phân tích, đánhgiágiảithuật cần thiết để lựa chọn giảithuật tốt, để cải tiến giảithuật 2.- Sử dụng khái niệm độ phức tạp ký hiệu ô lớn để đánhgiágiảithuật 3.- Đối với chương ... phương pháp xếp Với phương pháp cần nắm vững phần sau: - Giảithuật xếp - Minh họa việc xếp theo giảithuật - Chương trình xếp - Đánhgiágiảithuật 2.1.2 Kiến thức cần thiết Các kiến thức cần thiết ... chập k n b) Tính thời gian thực giảithuật nói Nguyễn Văn Linh Trang 17 y bu to k lic d o m o m w o d o w w w Kĩ thuật phân tích giảithuật w w C lic k to Giảithuật C bu y N O W ! XC er O W...
... Các giảithuật đơn giản thường lấy O(n2) thời gian để xếp n đối tượng giảithuật thường dùng để danh sách có đối tượng Với giảithuật nghiên cứu phần: giải thuật, ví dụ, chương trình phân tích đánh ... Sắp xếp xen (Insertion Sort) 2.3.2.1 Giảithuật Trước hết ta xem phần tử a[1] dãy có thứ tự Nguyễn Văn Linh Trang 21 k lic d o o w m C Sắp xếp o m Giảithuật c to bu y bu to k lic C c u -tr ... trình sau bước kết thúc Bảng sau ghi lại giá trị khoá tương ứng với bước Nguyễn Văn Linh Trang 20 k lic d o o w m C m o Sắp xếp c to bu y bu k to Giảithuật lic C c u -tr ack w w d o w w w w...
... C m Sắp xếp o Giảithuật bu y bu to k lic C c u -tr ack w w d o w w w w N O W ! h a n g e Vi e N O W XC er PD h a n g e Vi e ! XC er PD F- c u -tr a c k c F- w y 2.4.2.3 Giảithuật QuickSort ... dòng (5, 8, 2, 10, 5, 12, 8, 1, 15 4) giá trị khoá mảng cho ban đầu, giá trị khoá dòng (4, 1, 10 8) giá trị khoá sau thực hoán đổi a[2] với a[10] a[4] với a[8] Giá trị chốt v = Dòng cấp cấp 1, biểu ... xếp o m Giảithuật c to bu y bu to k lic C c u -tr ack w w d o w w w w N O W ! h a n g e Vi e N O W XC er PD h a n g e Vi e ! XC er PD F- c u -tr a c k c F- w y Trong dòng khoá ban đầu, giá trị...
... 2T( ) + n nêu n > Giải phương trình đệ quy ta T(n) = O(nlogn) 2.5 HEAPSORT 2.5.1 Ðịnh nghĩa Heap Cây thứ tự phận hay gọi heap nhị phân mà giá trị nút (khác nút lá) không lớn giá trị của Ta có ... nhận xét nút gốc a[1] thứ tự phận có giá trị nhỏ Ví dụ 2-5: Cây sau heap 6 Hình 2-7: Một heap Nguyễn Văn Linh Trang 31 k lic d o o w m C Sắp xếp o m Giảithuật c to bu y bu to k lic C c u -tr ... vào giá trị khoá nút (3) Hoán đổi a[1] cho cho phần tử cuối (4) Sắp lại sau bỏ phần tử cuối để trở thành heap Lặp lại trình (3) (4) nút ta mảng theo thứ tự giảm 2.5.3 Thiết kế cài đặt giải thuật...
... Ban đầu bao gồm hai dòng Dòng ghi giá trị khoá ban đầu mảng Dòng ghi giá trị khoá sau có hoán đổi Nguyễn Văn Linh Trang 37 k lic d o o w m C Sắp xếp o m Giảithuật c to bu y bu to k lic C c u ... đổi, ta xét lại nút 4, thấy vị trí nên kết thúc việc đẩy xuống nút k d o m w o Sắp xếp c lic Giảithuật o c u -tr a c k w w d o m C lic k to w w w C bu y N O W ! XC er O W F- w PD h a n g e ... tự giảm Nguyễn Văn Linh Trang 36 d o m w c o ack C lic k Sắp xếp o m to bu y bu to k lic C Giảithuật w w d o w w w w N O W ! h a n g e Vi e N O W XC er PD h a n g e Vi e ! XC er PD F- c u...