... đầu Phântíchthuậttoán Giả sử, với số toán có số thuậttoán giải Một câu hỏi xuất là, cần chọn thuậttoán số thuậttoán để áp dụng Việc phântíchthuật toán, đánh giá độ phức tạp thuậttoán ... chiến lược thiếtkếthuậttoán quan trọng cần thiết giúp cho ta dễ tìm thuậttoán cho toán đưa Tính đắn thuậttoán Khi thuậttoán làm ra, ta cần phải chứng minh rằng, thuậttoán thực cho ta kết với ... đầu thiết kế, đánh giá thuậttoán kiến thức bổ trợ Khái niệm thuậttoán Khái niệm thuậttoánThuậttoán (algorithm) khái niệm quan trọng lĩnh vực tin học Thuật ngữ thuậttoán xuất phát từ nhà toán...
... Nếu n khoảng vài tỷ n=2m với m số bit lưu trữ, chọn m kích thước thuật tốn thay cho n ⇒ độ phức tạp thuật tốn hai trường hợp O(2m) O(2m/2) hàm mũ Phạm Thế Bảo Vai trò số phântích • Thuật tốn A ... Kỹ thuậtthiếtkếthuật tốn: – – – – Chia để trị Greedy Quy hoạch động Tìm kiếm cục (địa phương) Phạm Thế Bảo Hình thức kiểm tra • Thực hành (4 điểm): – Làm việc theo nhóm – Mỗi nhóm đánh giá thuật ... i=1; i=n+1 sang B8, ngược lại sang B5 cộng i vào s cộng vào i quay lại B4 Tổng cần tính s Phạm Thế Bảo • Đặc trưng khác thuật tốn: – Xác định đầu vào/ra – Tính hiệu quả: khối lượng tính tốn,...
... random variables) kiện phần tử A[j] phân bố vào bucket i Xác suất để phần tử A[j] phân bổ vào bucket I là: Pr(A[j] rơi vào bucket i) = 1/n (do có n bucket phần tử A[j] sinh từ phân bố xác suất đều).Vậy ... kì vọng O(n) (chia tất phần tử dãy ban đầu cho 2k) Ý tưởng thuật toán: - Chia đoan [0,1) làm n phần có kích thước gọi buckets Phân bố n phần tử mảng đầu vào (mảng cần xếp) vào buckets tương ứng ... đầu vào ngẫu nhiên (được sinh từ phân bố xác suất – uniform distribution) Thật vậy, xét cách ước lượng, mảng số A đầu vào ngẫu nhiên việc phân bố phần tử A vào bucket đồng Do đó, số lượng phần...
... có tên kỹ thuật phổ băm Kỹ thuật phổ băm (t.t) Ý tưởng kỹ thuật phổ băm lựa chọn hàm băm theo ngẫu nhiên vào thời gian thực từ lớp hàm thiếtkế cẩn thận Do ngẫu nhiên hóa, thuậttoán xử lý ... mở Kỹ thuật băm hoàn hảo Phương pháp dây chuyền (Phương pháp mở) Ý tưởng Đưa tất phần tử băm vào khe vào danh sách liên kết Khe j chứa trỏ tới đầu danh sách tất phần tử băm vào khe ... thời gian tính toán giá trị băm Số trung bình phần tử chứa danh sách Xảy tất n khóa băm vào khe Tốc độ trung bình: Giả định Kỹ thuật băm Mọi phần tử cho có khả để băm vào khe số m khe,...
... Predecessor :=y; end; end; Giải thuật: Nút kế trước 13 Nút kế trước nil[T] iv) Nút kế sau (SUCCESSOR) x: Function Successor (x: TRBNodeP): TRBNodeP; var y: TRBNodeP; Giải thuật: begin if (x^.right ... có giá trị lớn nhất, tìm nút kế sau, nút kế trước, phép chèn, xóa nút thực đỏ đen với thời gian thực O(h) (h: chiều cao cây) - h ≤ 2lg(n+1) ⇒ Vậy độ phức tạp thuậttoán nêu trên đỏ đen với n nút ... thành phải x y trở thành nút gốc 10/29/2009 Nhóm 3-KHMT-K2009 γ Thiếtkế giải thuật phép quay trái Thủ tục Left_Rotato(x) Giải thuật: Procedure Left_Rotato (var T, x: TRBNodeP); var y: TRBNodeP;...
... v4 Thuậttoán Fork-Fulkerson Xây dựng chương trình • Thuật toán: – Nhập liệu – Tìm đường tăng luồng – Tăng luồng – In kết • Chương trình minh họa Thuậttoán Fork-Fulkerson Độ phức tạp tính toán ... biểu diễn theo kiểu danh sách kề độ phức tạp thuậttoán Ford2 Fulkerson O(n.m ) Tuy nhiên, khả thông qua cung mạng số nguyên độ phức tạp tính toánthuậttoán Ford-Fulkerson O(|f*|.m) với |f*| giá ... Nội dung Phương pháp Fork-Fulkerson • • • • • Bài toán luồng cực đại mạng Mạng thặng dư Đường tăng luồng Lát cắt Thuậttoán Fork-Fulkerson Bài toán luồng cực đại mạng Cho mạng vận tải G = (V,...
... |C|-1 phép “kết hợp” để tạo cuối Tại bước phần tử có tần số nhỏ lấy để kết hợp với nhau, kết phần tử tạo mà tần số tổng tần số phần tử kết hợp GiẢI THUẬT MÃ HÓA HUFFMAN (tt) Tính đắn giải thuật Huffman ... 0.25 100 10 Chiều dài trung bình dãy nhị phân là: l tb= Σwili ≈ 2.2 Vậy có cách mã hóa có ltb
... Nội dung trình bày gồm phần I Phần mở đầu - Trình bày khái niệm liên quan IIPhần nội dung - Trình bày phương pháp giải công thức truy hồi III Phần kết luận - Một số kết luận rút sau nghiên ... tả thời gian thực thuậttoán đệ quy Trong đó, toán có kích thước n chia thành a toán có kích thước n/b (a,b dương) Thời gian thực toán T(n/b) Thời gian để phân chia tổ hợp kết toán f(n) Ví dụ ... dựa vào công thức đệ quy Những nút đệ quy đại diện cho chi phí phải gánh chịu mức trình phân rã - Thời gian thực thuậttoán phí theo toàn mức đệ tổng đó, rút thời gian thực thuậttoán biến đổi toán...
... item (“chèn sơ đẳng”) vào bảng dòng 10 - Chi phí chèn sơ đẳng Ta phântích chi phí chuỗi gồm n phép tốn INSERT lên bảng động dùng phương pháp °Kết tập Kế tốn °Thế PHÂNTÍCH KHẤU TRỪ (Amortized ... chịu vượt q tổng chi phí thực tế gánh chịu PHÂN TÍCH KHẤU TRỪ (Amortized Analysis) Phântích phép tốn INCREMENT đếm nhị phân bắt đầu Dùng phương pháp kế tốn để xác định mức hao phí khấu trừ phép ... num[T] → num[T] + ° PHÂNTÍCH KHẤU TRỪ (Amortized Analysis) Chiến lược mở rộng bảng (tiếp) insert ∅ TABLE-INSERT insert 38 PHÂNTÍCH KHẤU TRỪ (Amortized Analysis) Phântích chuỗi TABLE-INSERT...
... tập S vào tập chuỗi nhị phân Ví dụ: N ={ 1, 2, 3,…} { 01, 10, 11,….} e(17)=10001 Bài toán cụ thể: toán mà tập minh dụ tập chuỗi nhị phân Người trình bày: Trương Nữ Thùy Duyên |Nhóm … Thuậttoán ... |Nhóm … Thuậttoán giải toán cụ thể thời gian O(T(n)) nếu: minh dụ i có độ dài n, thuậttoán cho kết thời gian O(T(n)) Một toán cụ thể giải thời gian đa thức tồn thuậttoán giải thời gian O(nk), ... tất toán giải thời gian đa thức (tức tồn thuậttoán giải với thời gian chạy đa thức) P = {L Є {0, 1}*: có thuậttoán A định L thời gian đa thức} Định lý 34.2: P = {L ngôn ngữ E: có thuật toán...
... cách độc lập Kết là, khả thực kỹ thuật băm đôi tỏ sát với khả thực lược đồ “ lý tưởng” kỹ thuật băm 2.4.4 Phântích kỹ thuật băm địa mở Giống phântích dây chuyền, việc phântích kỹ thuật định ... sets) Các thuậttoán đòi hỏi số phép toán khác phải thực tập hợp Chẳng hạn, nhiều thuậttoán cần phép toán như: chèn số phần tử vào tập hợp, xóa số phần tử từ tập hợp, kiểm tra xem phần tử có ... sách; phântích thủ tục kỹ phần sau Việc xóa thành phần x hoàn thành O(1) thời gian danh sách liên kết đôi Nếu danh sách liên kết đơn, thủ tục xóa tìm kiếm có thời gian thực 2.2.2 Phântích kỹ thuật...
... liệu mà không chứa đủ nhớ xử lý lúc Thuậttoán B-tree chép trang chọn từ đĩa vào nhớ cần thiết ghi trở lại vào đĩa trang bị thay đổi Thuậttoán B-tree thiếtkế để số lượng trang cố định nằm bên ... khóa chèn khóa vào B-tree, phần18. 3 trình bày việc xóa khóa Tuy nhiên, trước tiến hành cần phải biết cấu trúc liệu thiếtkế để làm việc đĩa từ đánh giá khác biệt cấu trúc liệu thiếtkế để làm việc ... O(1) thời gian CPU Chèn khoá vào B-tree Việc chèn khoá vào B-tree thật phức tạp chèn khoá vào nhị phân tìm kiếm Giống nhị phân tìm kiếm, ta tìm vị trí nút để chèn thêm vào khoá Tuy nhiên, với B-tree,...
... đến NIL thuậttoán chương 12 phải thay nil[T]) Mặc dù thuậttoán TREE-INSERT TREE-DELETE chương 12 chạy O(lg(n)) thời gian cho đỏ đen giá trị vào Nhưng chúng không trực tiếp hỗ trợ phép toán tập ... nhị phân tìm kiếm, phép toán phổ biến đỏ đen tìm kiếm theo khóa lưu trữ Ngoài phép toán SEARCH, đỏ đen chứng minh với phép toán tìm nút có giá trị nhỏ nhất, lớn nhất, nút kế trước nút x nút kế ... dựng cân cho tập cố định phần tử để hoán vị cách ngẫu nhiên phần tử sau chèn chúng trật tự vào Nếu tất phần tử lần sao? Nếu nhận phần tử thời điểm, ngẫu nhiên xây dựng nhị phân tìm kiếm không? Chúng...
... chứng minh thuậttoán tổng quát push-relabel giải toán luồng cực đại chứng minh thuậttoán kết thúc, luồng trước f luồng cực đại Sau chứng minh thuậttoán kết thúc Chúng ta bắt đầu với vài bổ đề ... G=(V,E) sử dụng thuậttoán push-relabel Đưa giải thuật nhanh để tìm lát cắt nhỏ G 43 Nhóm 26.4-4 Đưa thuậttoán push-relabel hiệu để tìm kiếm ghép cực đại đồ thị phân đôi Phântíchthuậttoán 26.4-5 ... thuậttoán Edmonds-Karp O(V E2) Chúng ta thấy thuậttoán Push-relabel mang lại giới hạn tốt Thuậttoánphần 26.4 đưa phương pháp để đạt thời gian thực O(V2E), phương pháp làm tảng cho thuật toán...
... liệu vào đến mạch mà lý liệu Chúng ta chứng minh toán NP-đầy đủ phần III _ NPC Trình bày: nhóm PHẦN II: NỘI DUNG Chương nghiên cứu khía cạnh NP-đầy đủ dựa vào phântíchthuậttoán Gồm phần: ... chuỗi mà thuậttoán chấp nhận Một thuậttoán A loại bỏ chuỗi x A(x) = Thậm chí ngôn ngữ L chấp nhận thuậttoán A, thuậttoán không cần thiết loại bỏ chuỗi x ∉ L cung cấp liệu vào Ví dụ, thuậttoán ... diễn đạt mối quan hệ toán định thuậttoán mà giải chúng súc tích Chúng ta nói thuậttoán A chấp nhận chuỗi x ∈ {0,1}* đặt vào x , thuậttoán đưa A(x) Ngôn ngữ chấp nhận thuậttoán _ NPC...
... master 29 III KẾT LUẬN 37 I MỞ ĐẦU Xác định độ phức tạp thuậttoán công việc không đơn giản, trước làm quen với số qui tắc để xác định độ phức tạp thuậttoán (như qui tắc ... cần phải tính toán nhiều Hệ thức truy hồi (*) mô tả thời gian chạy thuậttoán chia để trị với việc chia toán có kích cỡ n thành a toán con, toán có kích cỡ n/b, a b số dương a toán giải với thời ... trường hợp n lũy thừa b Phần đầu chứng minh phântích hệ thức truy hồi (*) T(n) = aT(n/b) + f(n) Với giả thiết n lũy thừa b >1, b không thiết phải số nguyên Quá trình phântích chia thành bổ đề...
... dung môn học Phần 1: KT phântíchthiếtkế giải thuật • • Chương 1: KỸ THUẬTPHÂNTÍCH GIẢI THUẬT – – – – – – Tổng quan Sự cần thiết phải phântích giải thuật Thời gian thực giải thuật Tỉ suất ... thuật Tỉ suất tăng độ phức tạp giải thuật Cách tính độ phức tạp • Phântích chương trình đệ quy Chương 2: KỸ THUẬTTHIẾTKẾ GIẢI THUẬT – – – – – – Tổng quan Kĩ thuật chia để trị (Divide and Conquer) ... giải thuật – Minh họa giải thuật – Viết giải thuật – Trình bày ý tưởng áp dụng – Phântích độ phức tạp GT (GKỳ) Lịch học Ngày Buổi nội dung Giới thiệu môn học – lịch học 9/1 S Chương 1: KT Phân tích...
... Bước 1: Phântíchtoán Gọi P(r,s) toán xác suất để tính giá trị xác suất => Bài toán ban đầu P(i,j) Trong đó: r: tham số thứ nhất, ≤ r ≤ i toán P(r,s) ⇒ Cần tìm P(r,s) giá trị xác suất toán P(r,s) ... Bước 1: Phântíchtoán - Gọi P(r, s) toán túi xách, với: r ∈ N*: kích cỡ túi s ∈ N*: số loại đồ vật khác =>bài toán ban đầu P(p, n) - Các giá trị cần tìm: l[r,s]: giá trị cực đại ∑x[i].c[i] toán ... sau: Bước Phântíchtoán - Gọi P(r) toán du lịch với r đỉnh cần đến, điểm xuất phát Bài toán ban đầu P(n) - Cách giá trị cần tìm: l[r]: Chi phí nhỏ để từ đỉnh đến đỉnh r u[r]: Đỉnh kế cuối đường...
... ký hiệu dùng để mô tả thời gian thực tiệm cận thuật toán, nằm trường hợp xấu nhất, trung bình, hay tốt Đánh giá thời gian hay gọi độ phức tạp thuậttoán định nghĩa dạng hàm, mà miền hàm tập hợp ... Giả thiết f(n) = O(g(n)) f(n) = Ω(g(n)) Theo định nghĩa: Ta cần làm ngược từ phần đầu để đạt f(n) = Θ(g(n)) (2) Từ (1) (2), định lý chứng minh Bài tập 3.1.6: Chứng minh thời gian chạy thuậttoán ... lg n = lim =0 n→ (2 ) ∞ n→ ∞ na a - Kết luận rằng: lgb n = o(na) với số mũ a > hàm đa thức dương tăng nhanh hàm hàm đa lôgarit (na tăng nhanh lgb n n→∞) III Bài tập Bài tập 3.1-1: Cho f(n) g(n)...