Thuật toán ứng dụng Samsung - Cấu trúc dữ liệu và giải thuật (ET2100) | Trường Đại học Bách khoa Hà Nội

Deque – Hàng đợi hai đầu (Double-Ended Queue)

lOMoARcPSD| 27879799
DATA STRUCTURES
1. Deque – Hàng đợi hai đầu (Double-Ended Queue)
#include <deque>
Deque<string> myQueue;
- Hỗ trợ phương thức của kiểu vector và list
Size(): kích thước
Front() phần tử đầu
Back() phần tcuối
Push_front() thêm vào đầu
Push_end() thêm vào cuối
Pop_front() xóa đầu
Pop_back() xóa cuối
2. Biu din tp hợp
Tp rỗng: 0
Tập có một phần tử: 1 << i
Tập vũ trụ (Tất cả các phn tử): (1 << i) – 1
Giao: x & y
Hợp: x | y
Phần bù 1 tập: x & ((1 << i) – 1)
VD: Ktra một phần txuất hiện trong tp:
If (x & (1 << i)) {
//yes
} else {
// no
}
3. Stack (Vào sau – Ra trước) - ng dụng:
Xử lý bài toán theo thứ tư: vào sau ra trước
Khử đệ quy
Tìm kiếm chiu sâu
Đảo ngược chuỗi
lOMoARcPSD| 27879799
Ktra dãy ngoặc
4. Queue( vào trước ra trước) - ng
dụng:
Xử lý vào trước ra trước
Tìm kiếm chiu rng
Đường đi qua ít cạnh nhất
Thuật toán loang
5. Priority_Queue
Ưu 琀椀 ên gtri sử dụng tốt nhất
Tìm đường đi ngắn nhất trên đồ th
y khung min (Prim)
Tham lam
6. Map
Giá trị + Khóa
Bảng tần suất
Mảng lưu trữ trong Quy hoạch đng
EXHAUSTIVE SEARCH
1. Đệ quy:
Void Try(input) {
If (<Kích thước đầu vào dl nhỏ>)
<Bước cơ sở> // trả về kq trường hợp cơ sở
} else { // Bước đệ quy
Foreach (<bài toán con>)
Call Try(new_input);
Combine(<lời giải các bài toán con>)
Return solu 琀椀 on;
}
}
lOMoARcPSD| 27879799
2. Pp giải:
- Duyệt toàn bộ (Brute force – Exhaus 琀椀 ve search)
- Chia để tr
- Qui hoạch đng
- Tham lam
| 1/3

Preview text:

lOMoAR cPSD| 27879799 DATA STRUCTURES
1. Deque – Hàng đợi hai đầu (Double-Ended Queue) #include Deque myQueue;
- Hỗ trợ phương thức của kiểu vector và list Size(): kích thước Front() phần tử đầu Back() phần tử cuối
Push_front() thêm vào đầu Push_end() thêm vào cuối Pop_front() xóa đầu Pop_back() xóa cuối 2. Biểu diễn tập hợp Tập rỗng: 0
Tập có một phần tử: 1 << i
Tập vũ trụ (Tất cả các phần tử): (1 << i) – 1 Giao: x & y Hợp: x | y
Phần bù 1 tập: x & ((1 << i) – 1)
VD: Ktra một phần tử xuất hiện trong tập: If (x & (1 << i)) { //yes } else { // no }
3. Stack (Vào sau – Ra trước) - Ứng dụng:
Xử lý bài toán theo thứ tư: vào sau ra trước Khử đệ quy Tìm kiếm chiều sâu Đảo ngược chuỗi lOMoAR cPSD| 27879799 Ktra dãy ngoặc
4. Queue( vào trước ra trước) - Ứng dụng:
Xử lý vào trước ra trước Tìm kiếm chiều rộng
Đường đi qua ít cạnh nhất Thuật toán loang 5. Priority_Queue
Ưu 琀椀 ên gtri sử dụng tốt nhất
Tìm đường đi ngắn nhất trên đồ thị Cây khung min (Prim) Tham lam 6. Map Giá trị + Khóa Bảng tần suất
Mảng lưu trữ trong Quy hoạch động EXHAUSTIVE SEARCH 1. Đệ quy: Void Try(input) { If ()
// trả về kq trường hợp cơ sở } else { // Bước đệ quy Foreach () Call Try(new_input); Combine() Return solu 琀椀 on; } } lOMoAR cPSD| 27879799 2. Pp giải:
- Duyệt toàn bộ (Brute force – Exhaus 琀椀 ve search) - Chia để trị - Qui hoạch động - Tham lam