... D án ch th c hi n đư c 65% so v i d trù Tiến độ thực dựán ch m so v i ti n đ d ki n Biên so n gi ng: TS Lưu Trư ng Văn 17 QUY T C ðÁNH GIÁ TI N TRÌNH THEO SPI SPI > 1: Ti n đ th c hi n d án ... Trư ng Văn 22 QUY T C ðÁNH GIÁ TI N TRÌNH THEO CV (quan m th c s d ng) CV > 0: Tài chánh c a nhà th u t i d án t t, nhà th u có lãi CV ≅ 0: Tài chánh c a nhà th u t i d án bình thư ng, nhà th ... Trư ng Văn 24 QUY T C ðÁNH GIÁ TI N TRÌNH THEO CV (quan m th c s d ng) CPI > 1: Tài chánh c a nhà th u t i d án t t, nhà th u có lãi CPI ≅ 1: Tài chánh c a nhà th u t i d án bình thư ng, nhà th...
... ăn, quay lui, cắt tỉa 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ải thuật 3.1.2 Kiến thức cần ... quay lui (backtracking) tìm kiếm địa phương (local search) Các kĩ thuật áp dụng vào lớp rộng toán, có toán cổ điển tiếng toán tìm đường ngắn người giao hàng, toán phủ tối tiểu 3.2 KĨ THUẬT CHIA ... 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 toán ban đầu Ðối với toán con, lại sử dụng kĩ Nguyễn Văn...
... bin, bin danh sách B đánh số KeyType, có bin cho giá trị khoá Ta phân phối phần tử a[i] vào bin b[j] j = a[i].key Dĩ nhiên bin b[j] chứa nhiều phần tử mảng A Các phần tử đưa vào cuối danh sách ... vào bin L = 25 vào bin nên K = 16 đứng trước L = 25 Trường hợp 2: Nếu s = u t < v (do K < L) Sau kì K đứng trước L, K vào bin b[t] L vào bin b[v] Ðến kì hai, K L vào bin b[s], K xen vào trước L ... a[i] vào bin b[j] mà j = a[i].key MOD n Kì 2: Phân phối phân tử danh sách kết kỳ vào bin Phần tử a[i] phân phối vào bin b[j] mà j = a[i].key DIV n Chú ý hai kỳ, ta xen phần tử phân phối vào cuối...
... Trang 35 k to bu Nút nút vị trí nên thực hoán đổi Tại nút 2, giá trị khóa lớn khoá trái khoá trái nhỏ khoá phải nên ta hóan đổi nút cho trái (nút 4), sau hoán đổi, ta xét lại nút 4, thấy vị trí nên ... thành heap Trong bảng trên, dòng 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 to bu Trình bày heapsort mảng lic ... a[1] xuống vị trí a[1] a[9] ta cây: 10 10 9 2 12 10 10 5 12 9 Hình 2-12: Hoán đổi a[1] cho a[10] đẩy a[1] xuống a[1 9] Hoán đổi a[1] cho a[9] cắt a[9] khỏi Ta phần cuối mảng bao gồm hai phần tử...
... mảng bên trái gồm n-1 phần tử lại Khi ta thành lập phương trình đệ quy sau: T(n) = nêu n = T(n - 1) + T(1) + n nêu n > Giải phương trình phươngpháp truy hồi Ta có T(n) = T(n-1) + T(1) +n = T(n-1) ... xếp ban đầu thành heap 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 ... ta có phương trình đệ quy sau: T(n) = nêu n = n 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ị...
... 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 a[10] a[4] ... A.R Hoare phát minh vào năm 1960 Quick Sort cải tiến để trở thành phươngpháp chọn ứng dụng xếp thực tế khác 2.4.1 Ý tưởng Chúng ta xét mảng a mẩu tin a[1] a[n] Giả sử v giá trị khóa mà ta gọi ... trả giá trị (không tìm thấy chốt), ngược lại hàm trả giá trị số phần tử có khóa lớn hai phần tử có khóa khác Khóa lớn trở thành phần tử chốt mà ta xác định thủ tục QuickSort Ðể tiện so sánh ta...
... phân tích đánhgiá 2.3.1 Sắp xếp chọn (Selection Sort) 2.3.1.1 Giải thuật Ðây phươngpháp xếp đơn giản tiến hành sau: • Ðầu tiên chọn phần tử có khóa nhỏ n phần tử từ a[1] đến a[n] hoán vị với ... a[2] đến a[n] hoán vị với a[2] • Tổng quát bước thứ i, chọn phần tử có khoá nhỏ n-i+1 phần tử từ a[i] đến a[n] hoán vị với a[i] • Sau n-1 bước mảng xếp Phươngpháp gọi phươngpháp chọn lặp lại ... LowKey := a[j].key; {7} LowIndex := j; END; {8} Swap(a[i],a[LowIndex]); END; END; 2.3.1.3 Ðánh giá: Phươngpháp xếp chọn lấy O(n2) để xếp n phần tử Trước hết ta có thủ tục Swap lấy thời gian nói...
... thuật 6.- Khi giải phương trình đệ quy không thuộc dạng phương trình tổng quát sử dụng phươngpháp truy hồi phươngpháp đoán nghiệm 7.- Khi giải phương trình đệ quy thuộc dạng phương trình tổng ... Mục tiêu Chương trình bày số phươngpháp xếp Với phươngpháp cần nắm vững phần sau: - Giải thuật xếp - Minh họa việc xếp theo giải thuật - Chương trình xếp - Đánhgiá giải thuật 2.1.2 Kiến thức ... vững ý sau: 1.- Sự phân tích, đánhgiá giải thuật cần thiết để lựa chọn giải thuật tốt, để cải tiến giải thuật 2.- Sử dụng khái niệm độ phức tạp ký hiệu ô lớn để đánhgiá giải thuật 3.- Đối với...
... ta có phương trình đệ quy sau: T(n) = C1 nêu n = n 2T( ) + C n nêu n > 1.6.2 Giải phương trình đệ quy Có ba phươngpháp giải phương trình đệ quy: 1.- Phươngpháp truy hồi 2.- Phươngpháp đoán nghiệm ... kích thước n, ta chia toán cho thành a toán con, toán có kích thước n Giải toán tổng hợp kết lại để b kết toán cho Với toán áp dụng phươngpháp để tiếp tục chia nhỏ toán kích thước Kĩ thuật dẫn ... quát cho lớp phương trình đệ quy Khi thiết kế giải thuật, người ta thường vận dụng phươngpháp chia để trị mà ta bàn chi tiết chương Ở chi trình bày tóm tắt phươngpháp sau: Ðể giải toán kích thước...
... tiếp tục trình đánhgiá thời gian thực chương trình sau thời gian thực tất chương trình mà gọi đánhgiá Cuối ta tính thời gian cho chương trình Giả sử ta có hệ thống chương trình gọi theo sơ đồ sau: ... cần thành lập phương trình đệ quy, sau giải phương trình đệ quy, nghiệm phương trình đệ quy thời gian thực chương trình đệ quy 1.6.1 Thành lập phương trình đệ quy Phương trình đệ quy phương trình ... e ! XC er PD F- c u -tr a c k c h a n g e Vi e N bu y c Với phươngpháp tính độ phức tạp trình bày mục 1.5.4 thực Bởi theophươngpháp thì, để tính thời gian thực hiên chương trình A, ta phải...
... sau: - Tại cần phân tích đánhgiá giải thuật? - Tiêu chuẩn để đánhgiá giải thuật tốt? - Phươngphá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 ... PHẢI PHÂN TÍCH GIẢI THUẬT Trong giải toán có số giải thuật khác nhau, vấn đề cần phải đánhgiá giải thuật để lựa chọn giải thuật tốt (nhất) Thông thường ta vào tiêu chuẩn sau: 1.- Giải thuật đắn ... phụ thuộc vào kích thước mà phụ thuộc vào tính chất liệu vào Nghĩa liệu vào có kích thước thời gian thực chương trình khác Chẳng hạn chương trình xếp dãy số nguyên tăng dần, ta cho vào dãy có...
... sau: - Tại cần phân tích đánhgiá giải thuật? - Tiêu chuẩn để đánhgiá giải thuật tốt? - Phươngphá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 ... PHẢI PHÂN TÍCH GIẢI THUẬT Trong giải toán có số giải thuật khác nhau, vấn đề cần phải đánhgiá giải thuật để lựa chọn giải thuật tốt (nhất) Thông thường ta vào tiêu chuẩn sau: 1.- Giải thuật đắn ... phụ thuộc vào kích thước mà phụ thuộc vào tính chất liệu vào Nghĩa liệu vào có kích thước thời gian thực chương trình khác Chẳng hạn chương trình xếp dãy số nguyên tăng dần, ta cho vào dãy có...
... tiếp tục trình đánhgiá thời gian thực chương trình sau thời gian thực tất chương trình mà gọi đánhgiá Cuối ta tính thời gian cho chương trình Giả sử ta có hệ thống chương trình gọi theo sơ đồ sau: ... cần thành lập phương trình đệ quy, sau giải phương trình đệ quy, nghiệm phương trình đệ quy thời gian thực chương trình đệ quy 1.6.1 Thành lập phương trình đệ quy Phương trình đệ quy phương trình ... e ! XC er PD F- c u -tr a c k c h a n g e Vi e N bu y c Với phươngpháp tính độ phức tạp trình bày mục 1.5.4 thực Bởi theophươngpháp thì, để tính thời gian thực hiên chương trình A, ta phải...
... ta có phương trình đệ quy sau: T(n) = C1 nêu n = n 2T( ) + C n nêu n > 1.6.2 Giải phương trình đệ quy Có ba phươngpháp giải phương trình đệ quy: 1.- Phươngpháp truy hồi 2.- Phươngpháp đoán nghiệm ... kích thước n, ta chia toán cho thành a toán con, toán có kích thước n Giải toán tổng hợp kết lại để b kết toán cho Với toán áp dụng phươngpháp để tiếp tục chia nhỏ toán kích thước Kĩ thuật dẫn ... quát cho lớp phương trình đệ quy Khi thiết kế giải thuật, người ta thường vận dụng phươngpháp chia để trị mà ta bàn chi tiết chương Ở chi trình bày tóm tắt phươngpháp sau: Ðể giải toán kích thước...
... thuật 6.- Khi giải phương trình đệ quy không thuộc dạng phương trình tổng quát sử dụng phươngpháp truy hồi phươngpháp đoán nghiệm 7.- Khi giải phương trình đệ quy thuộc dạng phương trình tổng ... Mục tiêu Chương trình bày số phươngpháp xếp Với phươngpháp cần nắm vững phần sau: - Giải thuật xếp - Minh họa việc xếp theo giải thuật - Chương trình xếp - Đánhgiá giải thuật 2.1.2 Kiến thức ... vững ý sau: 1.- Sự phân tích, đánhgiá giải thuật cần thiết để lựa chọn giải thuật tốt, để cải tiến giải thuật 2.- Sử dụng khái niệm độ phức tạp ký hiệu ô lớn để đánhgiá giải thuật 3.- Đối với...
... phân tích đánhgiá 2.3.1 Sắp xếp chọn (Selection Sort) 2.3.1.1 Giải thuật Ðây phươngpháp xếp đơn giản tiến hành sau: • Ðầu tiên chọn phần tử có khóa nhỏ n phần tử từ a[1] đến a[n] hoán vị với ... a[2] đến a[n] hoán vị với a[2] • Tổng quát bước thứ i, chọn phần tử có khoá nhỏ n-i+1 phần tử từ a[i] đến a[n] hoán vị với a[i] • Sau n-1 bước mảng xếp Phươngpháp gọi phươngpháp chọn lặp lại ... LowKey := a[j].key; {7} LowIndex := j; END; {8} Swap(a[i],a[LowIndex]); END; END; 2.3.1.3 Ðánh giá: Phươngpháp xếp chọn lấy O(n2) để xếp n phần tử Trước hết ta có thủ tục Swap lấy thời gian nói...
... 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 a[10] a[4] với a[8] Giá trị chốt ... A.R Hoare phát minh vào năm 1960 Quick Sort cải tiến để trở thành phươngpháp chọn ứng dụng xếp thực tế khác 2.4.1 Ý tưởng Chúng ta xét mảng a mẩu tin a[1] a[n] Giả sử v giá trị khóa mà ta gọi ... trả giá trị (không tìm thấy chốt), ngược lại hàm trả giá trị số phần tử có khóa lớn hai phần tử có khóa khác Khóa lớn trở thành phần tử chốt mà ta xác định thủ tục QuickSort Ðể tiện so sánh ta...
... mảng bên trái gồm n-1 phần tử lại Khi ta thành lập phương trình đệ quy sau: T(n) = nêu n = T(n - 1) + T(1) + n nêu n > Giải phương trình phươngpháp truy hồi Ta có T(n) = T(n-1) + T(1) +n = T(n-1) ... xếp ban đầu thành heap 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 ... ta có phương trình đệ quy sau: T(n) = nêu n = n 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ị...
... Trang 35 to bu Nút nút vị trí nên thực hoán đổi Tại nút 2, giá trị khóa lớn khoá trái khoá trái nhỏ khoá phải nên ta hóan đổi nút cho trái (nút 4), sau hoán đổi, ta xét lại nút 4, thấy vị trí nên ... thành heap Trong bảng trên, dòng 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ải ... 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 Sau có heap, ta bắt đầu trình xếp Ở bước đầu tiên, ứng với i = 10 hoán đổi a[1] a[10] cho nhau, ta a[10]...
... bin, bin danh sách B đánh số KeyType, có bin cho giá trị khoá Ta phân phối phần tử a[i] vào bin b[j] j = a[i].key Dĩ nhiên bin b[j] chứa nhiều phần tử mảng A Các phần tử đưa vào cuối danh sách ... vào bin L = 25 vào bin nên K = 16 đứng trước L = 25 Trường hợp 2: Nếu s = u t < v (do K < L) Sau kì K đứng trước L, K vào bin b[t] L vào bin b[v] Ðến kì hai, K L vào bin b[s], K xen vào trước L ... a[i] vào bin b[j] mà j = a[i].key MOD n Kì 2: Phân phối phân tử danh sách kết kỳ vào bin Phần tử a[i] phân phối vào bin b[j] mà j = a[i].key DIV n Chú ý hai kỳ, ta xen phần tử phân phối vào cuối...