• Kỹ thuật lập trình - Tuần 1 - Tổng quan về Kỹ thuật lập trìnhKỹ thuật lập trình - Tuần 1 - Tổng quan về Kỹ thuật lập trình

    Dùng để định danh (đặt tên) cho các thành phần của chương trình: Biến, Hàm, Hằng • Tên là một dãy các kí tự gồm các chữ cái [a-z, AZ, 0-9] và gạch nối “_” • Lưu ý: – Tên không đuợc chứa kí tự trống, – Tên không được bắt đầu bằng một chữ số, – Tên không được trùng với từ khóa • Nên đặt các tên gợi nhớ, có ý nghĩa, không quá dài.

    pdf29 trang | Chia sẻ: huyhoang44 | Ngày: 17/03/2020 | Lượt xem: 628 | Lượt tải: 0

  • Phân tích và thiết kế thuật toán - Lecture 14: Branch and boundPhân tích và thiết kế thuật toán - Lecture 14: Branch and bound

    Cài đặt thuật toán giải bài toán người du lịch (dựa trên thuật toán liệt kê các hoán vị) theo phương pháp nhánh cận. Đánh giá độ phức tạp thuật toán bằng lý thuyết, bằng thực nghiệm và so sánh. 3. Cài đặt thuật toán giải bài toán cái túi (dựa trên thuật toán liệt dãy nhị phân độ dài N) theo phương pháp nhánh cận. Đánh giá độ phức tạp thuật ...

    pdf14 trang | Chia sẻ: huyhoang44 | Ngày: 17/03/2020 | Lượt xem: 641 | Lượt tải: 0

  • Phân tích và thiết kế thuật toán - Lecture 13: Generating methodPhân tích và thiết kế thuật toán - Lecture 13: Generating method

    1. Lược đồ chung 2. Bài toán chuỗi 3 ký tự 3. Liệt kê tập con của tập N phần tử 4. Bài toán tập con K phần tử 5. Hoán vị tập N phần tử

    pdf13 trang | Chia sẻ: huyhoang44 | Ngày: 17/03/2020 | Lượt xem: 657 | Lượt tải: 0

  • Phân tích và thiết kế thuật toán - Liệt kê các hoán vịPhân tích và thiết kế thuật toán - Liệt kê các hoán vị

    1. Liệt kê các hoán vị của tập 4 phần tử (theo thuật toán mục 5) 2. Liệt kê tất cả các dãy nhị phân có độ dài 5 (theo thuật toán mục 6)

    pdf12 trang | Chia sẻ: huyhoang44 | Ngày: 17/03/2020 | Lượt xem: 775 | Lượt tải: 0

  • Phân tích và thiết kế thuật toán - Lecture 11, 12: Backtracking methodPhân tích và thiết kế thuật toán - Lecture 11, 12: Backtracking method

    Tại bước i – Vị trí mã đang đứng là (xi,yi) – Theo luật cờ vua mã có thể di chuyển tới nhiều nhất là 8 ô (hình bên) – Tọa độ 8 vị trí so với vị trí hiện tại (xi,yi) lần lượt là: (xi+1,yi+2), (xi+2,yi+1), (xi+2,yi-1), (xi+1,yi-2) (xi-1,yi-2), (xi-2,yi-1), (xi-2,yi+1), (xi-1,yi+2)

    pdf19 trang | Chia sẻ: huyhoang44 | Ngày: 17/03/2020 | Lượt xem: 610 | Lượt tải: 0

  • Phân tích và thiết kế thuật toán - Bài toán tìm xâu con chung dài nhấtPhân tích và thiết kế thuật toán - Bài toán tìm xâu con chung dài nhất

    1. Lược đồ chung 2. Bài toán tính số Fibonaci 3. Bài toán cái túi 4. Bài toán dãy con có tổng lớn nhất 5. Bài toán tìm xâu con chung dài nhất 6. Đường đi ngắn nhất - TT Floyd 7. Cây nhị phân tìm kiếm tối ưu

    pdf18 trang | Chia sẻ: huyhoang44 | Ngày: 17/03/2020 | Lượt xem: 759 | Lượt tải: 0

  • Phân tích và thiết kế thuật toán - Lecture 9, 10: Dynamic programmingPhân tích và thiết kế thuật toán - Lecture 9, 10: Dynamic programming

    Để tính MaxE[i], i = 1, 2, , n, ta cũng có thể sử dụng công thức đệ quy như sau: – Với i=1 thì MaxE[i] = a[1]; – Với i >1, Gọi C là dãy con kế tiếp lớn nhất của dãy a[1].a[i] có chứa a[i]. Có hai khả năng: • Nếu C chứa a[i-1] thì tổng lớn nhất là MaxE[i-1]+a[i]; • Nếu C không chứa a[i-1] thì C chỉ gồm a[i] và tổng lớn nhất là a[i]

    pdf20 trang | Chia sẻ: huyhoang44 | Ngày: 17/03/2020 | Lượt xem: 540 | Lượt tải: 0

  • Phân tích và thiết kế thuật toán - Cây bao trùm nhỏ nhấtPhân tích và thiết kế thuật toán - Cây bao trùm nhỏ nhất

    1. Lược đồ chung 2. Bài toán cái túi 3. Bài toán người du lịch 4. Đường đi ngắn nhất 5. Cây bao trùm nhỏ nhất 6. Bài toán tô màu 7. Bài toán các khoảng không giao nhau

    pdf23 trang | Chia sẻ: huyhoang44 | Ngày: 17/03/2020 | Lượt xem: 871 | Lượt tải: 0

  • Phân tích và thiết kế thuật toán - Lecture 6, 7: The greedy algorithmsPhân tích và thiết kế thuật toán - Lecture 6, 7: The greedy algorithms

    Khởi tạo: S = {s0}, L(s0) =0, L(v)= vV\S Với vV\S: Với sS: Trong đó m(s,v) là độ dài đường đi từ s với v • Vì chỉ có L(s*) với s* là đỉnh vừa duyệt xong ở bước trước là có thay đổi về giá trị nên việc tính lại L(v) chỉ có ý nghĩa với các đỉnh kề với s* Với vV\S kề với s*: 2/2/2017 37 L(v) = min(L(v),L(s)+m(s,v)) L(v) = min(L(v),L...

    pdf21 trang | Chia sẻ: huyhoang44 | Ngày: 17/03/2020 | Lượt xem: 575 | Lượt tải: 0

  • Phân tích và thiết kế thuật toán - Bài 5: Chia để trị (tiếp)Phân tích và thiết kế thuật toán - Bài 5: Chia để trị (tiếp)

    IV. Bài tập 2. Cài đặt thuật toán nhân 2 số nguyên có n (chẵn) chữ số. Đánh giá độ phức tạp bằng thực nghiệm và so sánh với lý thuyết. 3. Cài đặt thuật toán nhân ma trận theo chiến lược chia để trị của Strassen. Đánh giá độ phức tạp bằng thực nghiệm và so sánh với lý thuyết 4. Cài đặt thuật toán tìm dãy con lớn nhất. Đánh giá độ phức tạp bằng ...

    pdf12 trang | Chia sẻ: huyhoang44 | Ngày: 17/03/2020 | Lượt xem: 734 | Lượt tải: 0