• Bài giảng Phân tích thiết kế thuật toán - Chương 5: Cây 2 - 3 - 4Bài giảng Phân tích thiết kế thuật toán - Chương 5: Cây 2 - 3 - 4

    Giới thiệu về cây 2-3-4 • Cây 2-3-4 là cây nhiều nhánh mà mỗi nút của nó có thể có đến bốn nút con và ba mục dữ liệu. • Các số 2, 3 và 4 trong cụm từ cây 2-3-4 có ý nghĩa là khả năng có bao nhiêu liên kết đến các node con có thể có được trong một node cho trước. 4Giới thiệu về cây 2-3-4 (tt) • Đối với các node không phải là lá, có 3 cách sắ...

    pdf22 trang | Chia sẻ: thanhle95 | Ngày: 01/07/2021 | Lượt xem: 560 | Lượt tải: 1

  • Bài giảng Phân tích thiết kế thuật toán - Chương 5: B-TreeBài giảng Phân tích thiết kế thuật toán - Chương 5: B-Tree

    Giới thiệu • Cây 2-3-4 là một ví dụ về cây nhiều nhánh, trong cây nhiều nhánh mỗi node sẽ có nhiều hơn hai node con và nhiều hơn một mục dữ liệu. • Một loại khác của cây nhiều nhánh là B-tree, là cây rất hiệu quả khi dữ liệu nằm trong bộ nhớ ngoài. 3Định nghĩa B-Tree • Một B-tree bậc n có các đặc tính sau: i) Mỗi node có tối đa 2*n khoá. i...

    pdf33 trang | Chia sẻ: thanhle95 | Ngày: 01/07/2021 | Lượt xem: 727 | Lượt tải: 1

  • Bài giảng Phân tích thiết kế thuật toán - Chương 4: Bảng bămBài giảng Phân tích thiết kế thuật toán - Chương 4: Bảng băm

    Hàm băm (Hash functions) • Hàm băm: biến đổi khóa thành chỉ mục trên bảng băm – Khóa có thể là dạng số hay dạng chuỗi – Chỉ mục được tính từ 0.M-1, với M là số chỉ mục của bảng băm – Hàm băm thường dùng: key % M, với M là độ lớn của bảng băm • Hàm băm tốt phải thoả yêu cầu – Giảm thiểu xung đột – Phân bố đều trên M địa chỉ khác nhau của b...

    pdf32 trang | Chia sẻ: thanhle95 | Ngày: 01/07/2021 | Lượt xem: 622 | Lượt tải: 1

  • Bài giảng Phân tích thiết kế thuật toán - Chương 3: Sắp xếp ngoạiBài giảng Phân tích thiết kế thuật toán - Chương 3: Sắp xếp ngoại

    1. Phương pháp trộn Run • Run là một dãy liên tiếp các phần tử đã có thứ tự • Ví dụ về Run: 2 4 7 12 50 40 60 • Chiều dài của Run chính là số phần tử trong Run • Trong ví dụ trên có 2 run có độ dài lần lượt là 5 và 2 • Mỗi phần tử của dãy chính là 1 run có độ dài bằng 1 51. Phương pháp trộn Run • Việc tạo ra một run mới từ 2 run ban đầu gọi ...

    pdf27 trang | Chia sẻ: thanhle95 | Ngày: 01/07/2021 | Lượt xem: 1121 | Lượt tải: 1

  • Bài giảng Phân tích thiết kế thuật toán - Chương 2: Kỹ thuật thiết kế giải thuậtBài giảng Phân tích thiết kế thuật toán - Chương 2: Kỹ thuật thiết kế giải thuật

    Kỹ thuật chia để trị • Yêu cầu: – Cần phải giải bài toán có kích thước n. • Phương pháp: – Ta chia bài toán ban đầu thành một số bài toán con đồng dạng với bài toán ban đầu có kích thước nhỏ hơn n. – Giải các bài toán con được các lời giải con – Tổng hợp lời giải con  ta có được lời giải của bài toán ban đầu. • Chú ý – Đối với từng bài t...

    pdf80 trang | Chia sẻ: thanhle95 | Ngày: 01/07/2021 | Lượt xem: 866 | Lượt tải: 1

  • Bài giảng Phân tích thiết kế thuật toán - Chương 1: Kỹ thuật phân tích giải thuậtBài giảng Phân tích thiết kế thuật toán - Chương 1: Kỹ thuật phân tích giải thuật

    • Đánh giá giải thuật - Tính đúng đắn • Chạy trên dữ liệu thử • Chứng minh lý thuyết (bằng toán học chẳng hạn) - Tính đơn giản - Tính nhanh chóng (thời gian thực thi) • Quan trọng khi chương trình được thực thi nhiều lần, chương trình có khối lượng dữ liệu nhập lớn. • Hiệu quả thời gian thực thi -> Thường chỉ sử dụng vài lần 4• Đo thời gi...

    pdf59 trang | Chia sẻ: thanhle95 | Ngày: 01/07/2021 | Lượt xem: 788 | Lượt tải: 1

  • Bài giảng Phương pháp lập trình hướng đối tượng - Tuần 9: Đa kế thừa - Phạm Tú SanBài giảng Phương pháp lập trình hướng đối tượng - Tuần 9: Đa kế thừa - Phạm Tú San

    Exception Handling Xử lý lỗi qua kênh dành riêng Kênh Exception Tách rời phần xử lý lỗi Rõ ràng, trong sáng Dễ quản lý, bảo trì Có khả năng thông báo lỗi ra bên ngoài cho các hàm ở cấp cao hơn Xây dựng sẵn trong ngôn ngữException Handling - Cách sử dụng Từ khóa “throw” Đưa lỗi vào kênh Exception Từ khóa “try” Dò lỗi trong kênh Exception...

    pdf42 trang | Chia sẻ: thanhle95 | Ngày: 01/07/2021 | Lượt xem: 515 | Lượt tải: 1

  • Bài giảng Phương pháp lập trình hướng đối tượng - Tuần 7: Hàm dựng, hàm hủy, ba vấn đề con trỏ trong kế thừa - Phạm Tú SanBài giảng Phương pháp lập trình hướng đối tượng - Tuần 7: Hàm dựng, hàm hủy, ba vấn đề con trỏ trong kế thừa - Phạm Tú San

    Hàm dựng trong kế thừa Khi một đối tượng thuộc lớp con được gọi: Hàm dựng của lớp cha sẽ tự động được gọi thực hiện trước Sau đó, hàm dựng của lớp con sẽ được thực hiện. Trong hàm dựng của lớp con, chúng ta có thể chỉ định hàm dựng nào của lớp cha sẽ được gọi thực hiện. Nếu không, hàm dựng mặc định của lớp cha sẽ được gọi GVCN gv(); //Hàm...

    pdf55 trang | Chia sẻ: thanhle95 | Ngày: 01/07/2021 | Lượt xem: 752 | Lượt tải: 1

  • Bài giảng Phương pháp lập trình hướng đối tượng - Tuần 6: Kế thừa - Phạm Tú SanBài giảng Phương pháp lập trình hướng đối tượng - Tuần 6: Kế thừa - Phạm Tú San

    Nội dung Khái niệm kế thừa. Tầm vực trong kế thừa. Định nghĩa lại phương thức. Quan hệ IS-A và HAS-A. Bài tập. Định nghĩa lại phương thức Kế thừa một phần: Không kế thừa “máy móc” tất cả. Lớp kế thừa có thể thay đổi những gì đã kế thừa!!  Định nghĩa lại phương thức đã kế thừa. Định nghĩa lại phương thức Ví dụ: GVCN kế thừa từ GiaoVien...

    pdf32 trang | Chia sẻ: thanhle95 | Ngày: 01/07/2021 | Lượt xem: 809 | Lượt tải: 1

  • Bài giảng Phương pháp lập trình hướng đối tượng - Tuần 4: Bài tập - Phạm Tú SanBài giảng Phương pháp lập trình hướng đối tượng - Tuần 4: Bài tập - Phạm Tú San

    Bài tập 4.4 Xây dựng lớp Time có những phương thức sau (Nhóm tạo hủy) Khởi tạo mặc định vào thời điểm 0:0:0. Khởi tạo từ giờ, phút, giây cho trước. Khởi tạo từ giây tuyệt đối trong ngày. Khởi tạo từ một đối tượng Time khác. (Nhóm truy xuất thông tin) Thông báo giờ, phút, giây. Thông báo giây tuyệt đối trong ngày.5 Bài 4.4 (tt) Xây dựng l...

    pdf11 trang | Chia sẻ: thanhle95 | Ngày: 01/07/2021 | Lượt xem: 504 | Lượt tải: 1