Stack

Stack (ngăn sắp) là một dạng danh sách tuân thủ theo nguyên tắc LIFO (Last In First Out) - nghĩa là nếu một phần tử nào được thêm vào đầu, thì phần tử đó sẽ được lấy ra đầu tiên.

Ví dụ: chồng dĩa sẽ được xếp theo dạng Stack, nếu muốn lấy dĩa dưới cùng thì ta phải lấy ra hết tất cả dĩa ở trên nó, còn nếu muốn thêm dĩa vào thì thêm vào trên cùng của chồng dĩa.

Untitled

Stack gồm 2 phương thức chính:

Queue

Queue (hàng đợi) là một dạng danh sách tuân thủ theo nguyên tắc FIFO (First In First Out) - và trước sẽ được lấy ra trước.

Ví dụ: xếp hàng mua nước, người vào trước sẽ được phục vụ trước.

Untitled

Queue gồm 2 phương thức chính:

Priority Queue (optional)

Hàng đợi ưu tiên là hàng đợi không tuân theo quy tắc FIFO, thường sẽ dự Heap để lưu trữ.

Đọc thêm về Priority Queue sử dụng Heap để biểu diễn:

Priority Queue using Binary Heap - GeeksforGeeks