Bài tập về Stack
I. Khởi tạo và thao tác cơ bản
- Khởi tạo một stack rỗng
- Thêm phần tử vào stack (push)
- Xóa phần tử khỏi stack (pop)
- Xem phần tử trên cùng (top/peek)
- Kiểm tra stack có rỗng không
- Đếm số lượng phần tử trong stack
- In toàn bộ phần tử trong stack
- Đảo ngược một mảng bằng stack
- Đảo ngược một chuỗi bằng stack
- Sao chép một stack sang stack khác
II. Ứng dụng xử lý chuỗi
- Kiểm tra chuỗi ngoặc có hợp lệ không
- Chuyển đổi biểu thức trung tố (infix) sang hậu tố (postfix)
- Chuyển đổi biểu thức trung tố sang tiền tố (prefix)
- Tính giá trị biểu thức hậu tố
- Tính giá trị biểu thức tiền tố
- Xóa tất cả dấu ngoặc trong biểu thức hợp lệ
- Kiểm tra chuỗi Palindrome bằng stack
- Tách các từ trong chuỗi theo thứ tự ngược lại
- Đếm số lần xuất hiện ký tự trong chuỗi bằng stack
- Rút gọn chuỗi chứa dấu ngoặc lồng nhau
III. Tính toán và thuật toán
- Tính lũy thừa bằng stack thay cho đệ quy
- Tính giai thừa bằng stack
- Chuyển đổi số thập phân sang nhị phân
- Đánh giá biểu thức có dấu ngoặc
- Phân tích cú pháp biểu thức
- Thực hiện toán tử Undo/Redo
- Đảo thứ tự các phần tử trong stack
- Chèn phần tử vào giữa stack
- Lấy phần tử ở vị trí k từ đỉnh stack
- Xóa phần tử ở giữa stack
IV. Ứng dụng trong cấu trúc dữ liệu
- Triển khai stack bằng mảng
- Triển khai stack bằng danh sách liên kết
- Stack 2 ngăn trong cùng một mảng
- Dùng 2 stack để tạo queue
- Dùng queue để tạo stack
- So sánh 2 stack có giống nhau không
- Trộn 2 stack thành một
- Lấy phần tử nhỏ nhất từ stack (MinStack)
- Tạo stack hỗ trợ undo thao tác
- Đếm số thao tác push/pop từ một dãy lệnh
V. Bài toán thực tế nâng cao
- Giải bài toán tháp Hà Nội dùng stack
- Kiểm tra tính đối xứng của danh sách
- Tìm dấu ngoặc thừa trong biểu thức
- Mô phỏng trình duyệt web với nút Back/Forward
- Mô phỏng hệ thống undo trong trình soạn thảo
- In thứ tự các bước đi lùi trong mê cung
- Giải bài toán toán học có nhiều ngoặc lồng nhau
- Tìm phần tử tiếp theo lớn hơn (Next Greater Element)
- Tìm chiều cao tối đa của stack sau dãy thao tác
- Tìm dấu ngoặc cân bằng tối thiểu cần chèn