Tổng hợp tài liệu, ebook Cơ Sở Dữ Liệu tham khảo.
Thuật toán Huffman Với mỗi ký tự xuất hiện trong xâu nguồn, ta tạo ra một đỉnh chứa ký tự đó gắn với giá trị ưu tiên bằng tần suất Từ tập các cây chỉ có một đỉnh, tại mỗi bước ta kết hợp hai cây thành một cây đỉnh cha sẽ gắn với giá trị ưu tiên bằng tổng độ ưu tiên các con ta cần chọn hai cây nhị phân có mức ưu tiên nhỏ nhất đ...
45 trang | Chia sẻ: thucuc2301 | Ngày: 20/11/2020 | Lượt xem: 750 | Lượt tải: 0
Nhận xét (2/2) Thăm dò bình phương Ưu điểm: tránh được nhược điểm của thăm dò tuyến tính Nhược điểm: không cho phép ta tìm đến tất cả các vị trí trong mảng phép insert có thể không thực hiện được nếu cỡ của mảng là số nguyên tố, thì thăm dò bình phương cho phép ta tìm đến một nửa số vị trí trong mảng Băm kép nếu cỡ của mảng ...
21 trang | Chia sẻ: thucuc2301 | Ngày: 20/11/2020 | Lượt xem: 835 | Lượt tải: 0
Phân tích độ phức tạp Xét tập hợp có n phần tử cài đặt bởi cây tìm kiếm nhị phân độ cao h không gian sử dụng là O(n) các hàm find, insert và erase thực hiện trong thời gian O(h) Độ cao h bằng O(n) trong trường hợp xấu nhất và O(log n) trong trường hợp tốt nhất
44 trang | Chia sẻ: thucuc2301 | Ngày: 20/11/2020 | Lượt xem: 784 | Lượt tải: 0
Phép toán gán Nếu được cho các khai báo sau StringVar str1(10), str2(20); thì câu lệnh str1 = str2; là hợp lệ. Nhưng vì thành phần value của StringVar là một con trỏ nên str1.value và str2.value trỏ tới cùng một vùng nhớ
63 trang | Chia sẻ: thucuc2301 | Ngày: 20/11/2020 | Lượt xem: 747 | Lượt tải: 0
Các dạng DSLK 28 diepht@vnu DSLK đơn singly linked list, uni-directional list, one-way list DSLK kép doubly linked list, bi-directional list DSLK vòng tròn ring list
32 trang | Chia sẻ: thucuc2301 | Ngày: 20/11/2020 | Lượt xem: 845 | Lượt tải: 0
Nội dung chính 25 diepht@vnu 1. Thư viện khuôn mẫu chuẩn STL 2. Con trỏ và bộ nhớ động C++ 3. KDLTT danh sách cài bằng mảng động Bộ ba quan trọng Cải tiến hàm insert, append 4. Ứng dụng KDLTT danh sách Tập động Đa thức Ma trận thưa
31 trang | Chia sẻ: thucuc2301 | Ngày: 20/11/2020 | Lượt xem: 810 | Lượt tải: 0
Cài đặt danh sách bằng mảng 7 diepht@vnu Mảng (array) Tập hợp các phần tử (các biến) có cùng một kiểu Một phần tử cụ thể trong mảng sẽ được xác định và truy cập bởi một chỉ số Trong C/C++, các phần tử của mảng được đặt cạnh nhau tạo thành một khối liên tục. Địa chỉ thấp nhất tương ứng với phần tử đầu tiên, địa chỉ cao nhất tương ứn...
11 trang | Chia sẻ: thucuc2301 | Ngày: 20/11/2020 | Lượt xem: 914 | Lượt tải: 0
Lập trình hướng đối tượng Object oriented programming (OOP) Lâp trình hướng đối tượng giúp chúng ta cài đặt các mô tả trừu tượng (đối tượng dữ liệu và các phép toán) thành các đoạn mã chương trình Chương trình được thiết kế thành từng đoạn nhỏ, mỗi đoạn mô tả về một đối tượng (thuộc tính dữ liệu, các phép toán trên dữ liệu) Hai thuộc ...
22 trang | Chia sẻ: thucuc2301 | Ngày: 20/11/2020 | Lượt xem: 728 | Lượt tải: 0
Biểu diễn thời gian chạy bởi kí hiệu O 12 diepht@vnu Ta sẽ lấy cận trên chặt (tight bound) để biểu diễn thời gian chạy của thuật toán. Ta nói f(n) là cận trên chặt của T(n) nếu T(n) = O(f(n)), và Nếu T(n) = O(g(n)) thì f(n) = O(g(n)). Nói cách khác ta không thể tìm được một hàm g(n) là cận trên của T(n) mà lại tăng chậm hơn hàm...
30 trang | Chia sẻ: thucuc2301 | Ngày: 20/11/2020 | Lượt xem: 776 | Lượt tải: 0
Xây dựng hệ thống từ điển Viết chương trình từ điển Anh – Việt, cho phép thực hiện các thao tác sau: 1. Tìm một từ 2. Thêm một từ 3. Xóa một từ 4. Sửa một từ 5. Tìm từ đồng nghĩa
29 trang | Chia sẻ: thucuc2301 | Ngày: 20/11/2020 | Lượt xem: 703 | Lượt tải: 0