• 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: 885 | 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: 1476 | 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: 1128 | 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: 1059 | 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: 664 | 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: 968 | 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: 981 | 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: 699 | 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: Toán tử, 3 vấn đề con trỏ - Phạm Tú SanBài giảng Phương pháp lập trình hướng đối tượng - Tuần 4: Toán tử, 3 vấn đề con trỏ - Phạm Tú San

    Một số lưu ý khi viết chồng toán tử Tránh thay đổi ý nghĩa nguyên thủy của toán tử đó Các cặp toán tử có cùng chức năng, ví dụ x=x+y và x+=y phải được viết cùng nhau và có cùng chức năng. Nếu toán tử chồng không là hàm thành viên của lớp thì nên sử dụng từ khóa friend thay vì truy xuất đến các thành phần dữ liệu 1 cách phức tạp

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

  • Bài giảng Phương pháp lập trình hướng đối tượng - Tuần 3: Lớp và đối tượng (Tiếp theo) - Phạm Tú SanBài giảng Phương pháp lập trình hướng đối tượng - Tuần 3: Lớp và đối tượng (Tiếp theo) - Phạm Tú San

    Getter/setter Quy tắc đóng kín Truy xuất thông qua getter: int ĐồngHồ::hiệnGiờ() Truy nhập thông qua setter: void ĐồngHồ::đặtGiờ(int h) Các loại thuộc tính: Thuộc tính nội bộ không có get/setter. Thuộc tính chỉ đọc chỉ có getter Thuộc tính ảo có getter (setter), nhưng không có thực trong bộ nhớ. Thường là công thức tương đương với những th...

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