Câu hỏi

26/04/2013 21:42
Stack và Queue
cho em hỏi khái niệm về stack va queue, sử dụng chúng như thế nào. cho em vài ví dụ cụ thể!
whiteroses
26/04/2013 21:42
Danh sách câu trả lời (1)

Stack là LIFO - Last in first out có nghĩa là dữ liệu vào sau thì sẽ được xử lý trước. Giống kiểu băng đạn hay kiểu ngăn xếp.
QUEUE là FIFO - First in first out có nghĩa là dữ liệu vào trước thì sẽ được xử lý trước. Giống kiểu xếp hàng mua vé.
Đó là nguyên lý.
Còn việc sử dụng nó tùy vào cách người lập trình và tùy vào bài toán.
Bài toán kinh điển để áp dụng 2 phương pháp trên là bài toán tìm kiếm trong đồ thị.
DFS - thuật toán sử dụng stack để xử lý.
BFS - thuật toán sử dụng queue để xử lý.
Còn rất rất nhiều bài toán nữa nhưng chỉ cần hiểu 2 nguyên lý LIFO và FIFO là ok.
Còn sách thì có thể tham khảo cuốn Cấu trúc dữ liệu và giải thuật của thầy Đinh Mạnh Tường, cẩm nang thuật toán hoặc quyển giải thuật của thầy Lê Minh Hoàng....
Nguồn http://www.downloadatz.com
QUEUE là FIFO - First in first out có nghĩa là dữ liệu vào trước thì sẽ được xử lý trước. Giống kiểu xếp hàng mua vé.
Đó là nguyên lý.
Còn việc sử dụng nó tùy vào cách người lập trình và tùy vào bài toán.
Bài toán kinh điển để áp dụng 2 phương pháp trên là bài toán tìm kiếm trong đồ thị.
DFS - thuật toán sử dụng stack để xử lý.
BFS - thuật toán sử dụng queue để xử lý.
Còn rất rất nhiều bài toán nữa nhưng chỉ cần hiểu 2 nguyên lý LIFO và FIFO là ok.
Còn sách thì có thể tham khảo cuốn Cấu trúc dữ liệu và giải thuật của thầy Đinh Mạnh Tường, cẩm nang thuật toán hoặc quyển giải thuật của thầy Lê Minh Hoàng....
Nguồn http://www.downloadatz.com
Trả lời câu hỏi
Câu hỏi lĩnh vực Lập trình
Rao vặt Siêu Vip