-ˆ CẤU TRÚC DỮ LIỆ
& THUẬT TOÁN ĐỂ LÀM GÌ?
® Ứng dụng để giải quyết các bài toán
thực tế
» _ Cài đặt các chương trình
° _ Tiền đề cho các môn học, lĩnh vực
Trang 3Thuật toán là ` _⁄
Là một tập hữu hạn các chỉ dẫn để
Trang 5Độ phức tạp của Thuật toán
Là khái niệm dùng để đánh giá
thời gian thực thi của một thuật toán độc lập với máy tính
Trang 9anh sách tuyến tính
Là một cấu trúc dữ liệu mà mỗi phần tử chỉ tồn tại tối
Trang 11Danh sách tổng quát
* _ Không có ràng buộc đối với các thao tác trên danh sách
* Không có ràng buộc khi
chèn/xóa phần tử
» Có 2 loại:
o Cóthứtự
Trang 12Danh sách ràng buộc * = Ràng buộc đối với các thao tác trên danh sách ° _ Ràng buộc khi chèn/xóa phần tử * Có 2 loại:
oO Queue (FIFO: First-In-First-Out)
Trang 14Cách cài đặt Queue
° Dung mang:
class Queue{ public:
private: Queue();
int data[100]; int size();
int count; int front(); int front; int rear();
int rear; bool isEmpty(); bool isFull();
Trang 15Cách cài đặt Queue
° Dùng danh sách liên kết:
class Queue{ public:
private: Queue();
int* front; int size(); int* rear; int front(); int count; int rear();
bool isEmpty(); bool isFull();
Trang 16Cách cài đặt Stack ° Dung mang: class Stack{ public: private: Stack()
int data[100]; int size();
int count; bool isEmpty(); bool isFull(); int top(); void push(int k); int pop(); }
Ghi chú: Tùy vào mục đích sử và phương pháp sử dụng
Trang 17Cách cài đặt Stack
° Dùng danh sách liên kết:
class Stack{ public:
private: Stack(); Node* head int size();
Node* tail bool isEmpty();
int count bool isFull(); int count; int top();
void push(int k);
int pop();
}
Ghi chú: Tùy vào mục đích sử và phương pháp sử dụng
Trang 19Các khái niệm trong Cây
* Root (node géc)
¢ Leaf (node la)
¢ Branch (node nhanh)
* Level (cap)
* Height/Depth
(chiéu cao/chiéu sau)
¢ Sub-tree (cây con)
Trang 23
Deep First Traverse ~~
" Pre-Oder (NLR) a ee a
Trang 25Deep First Traverse
= Post-Oder
Trang 26ỘT.SỐ THƯ VIỆN TRONG C++
* <cstdio> * <queue>
* <iostream> » <stack>
* <cstring> * <vector>
Trang 27ỰC HÀNH NHƯ THẾ NÀO?
Trang 30
* Part
Problem: http://codeforces.com/problemset/problem/115/A
Trang 31
¢ Friend
Problem: http://codeforces.com/problemset/problem/94/B