Hướng dẫn ứng dụng cấu trúc dữ liệu Stack và Queue
Chắc hẳn bạn đã từng sử dụng các lớp Stack, Queue được xây dựng sẵn của ngôn ngữ lập trình. Đây là 2 cấu trúc dữ liệu cơ bản nhưng vô cùng quan trọng. Để giúp bạn hiểu rõ hơn, bài viết dưới đây FUNiX sẽ hướng dẫn ứng dụng cấu trúc dữ liệu Stack và Queue một cách chi tiết. Mời các bạn cùng tham khảo nhé!
- Vai trò của kiến trúc bảo mật thích ứng trong quản lý ninh mạng
- Ưu điểm khi kết hợp trí tuệ nhân tạo AI và RPA - Robotic Process Automation
- Cấu trúc dữ liệu là gì? Những điều cần biết về cấu trúc dữ liệu
- Làm thế nào để học lập trình? Mẹo hay cho người mới bắt đầu
- Trung tâm Công nghệ chuyên sâu xSeries ra mắt phiên bản mới môn Toán rời rạc
Table of Contents
1. Cấu trúc dữ liệu Stack và Queue là gì?
1.1 Cấu trúc dữ liệu Stack
Stack hay gọi là ngăn xếp, đây là 1 loại cấu trúc dữ liệu trừu tượng hoạt động theo nguyên lý vào sau ra trước (Last In First Out).
Bạn có thể hình dung như sau: Khi bạn chồng các giỏ đựng hàng lên nhau cần tuân theo một quy tắc đó là khi thêm một giỏ mới vào chồng thì phải thêm vào phía trên và khi lấy giỏ ra cũng phải lấy từ phía trên.
1.2 Cấu trúc dữ liệu Queue
Queue hay gọi là hàng đợi, đây là 1 loại cấu trúc dữ liệu trừu tượng hoạt động theo nguyên lý vào trước ra sau (First In First Out).
Bạn có thể hình dung đó là một hàng người đang xếp hàng để mua iphone 13. Theo nguyên lý chung, thì ai đến trước thì được mua trước. Tuy nhiên, vẫn có một số trường hợp được ưu tiên, nhưng ở phạm vi bài viết này chúng ta không đề cập đến.
>>> Đọc ngay: 4 con đường sự nghiệp cho các nhà phân tích dữ liệu (Data Analyst)
2. Hướng dẫn ứng dụng cấu trúc dữ liệu Stack và Queue
Dưới đây là hướng dẫn ứng dụng cấu trúc dữ liệu Stack và Queue:
2.1 Ứng dụng cấu trúc dữ liệu của Stack
Các ứng dụng phổ biến nhất của Stack bao gồm:
- Đảo ngược từ: Đặt tất cả các chữ cái trong một Stack và lấy lần lượt các ký tự ra. Dựa theo nguyên tắc vào sau ra trước ta sẽ nhận được các chữ cái được sắp xếp theo thứ tự ngược lại. Ví dụ: “Empty” sẽ được chuyển thành “ytpmE”.
- Trình biên dịch sử dụng ngăn xếp để tính giá trị của các biểu thức như 3 + 5/6 * (8 – 9) bằng cách chuyển đổi biểu thức sang dạng tiền tố hoặc hậu tố.
- Trong trình duyệt Web: Nút quay lại trong trình duyệt lưu tất cả các URL mà ta đã truy cập trước đó trong một cấu trúc dữ liệu Stack. Mỗi lần ta truy cập một trang mới, nó sẽ được thêm vào trên cùng của cấu trúc. Khi ta nhấn nút quay lại, URL hiện tại sẽ bị xóa khỏi ngăn xếp và URL trước đó sẽ được lấy ra.
>>> Đọc ngay: Nghề phân tích dữ liệu data analysis tại Việt Nam
2.2 Ứng dụng cấu trúc dữ liệu của Queue
Cấu trúc dữ liệu của Queue (hàng đợi) được sử dụng rất phổ biến trong hệ thống cũng như trong phát triển ứng dụng.
- Xử lý các lệnh trong máy tính. Chẳng hạn như: Khi quản lý in trên mạng, các phòng ban làm việc thường sẽ có nhiều máy tính yêu cầu in đồng thời và ngay cả một máy tính cũng yêu cầu in nhiều lần. Trường hợp nếu máy in không thể đáp ứng tức thời tất cả các yêu cầu đó, thì chương trình quản lý in sẽ thiết lập một hàng đợi để quản lý các yêu cầu. Yêu cầu nào nhận trước nó sẽ giải quyết trước.
- Kiểm tra chuỗi Palindrome: Một chuỗi thường sẽ có tính chất Palindrome nếu nó có tính chất đối xứng. Nghĩa là dù viết xuôi hay viết ngược đều được. Để kiểm tra tính chất này của một chuỗi bất kì, bạn đọc chuỗi bởi 2 cấu trúc riêng biệt là stack và queue. Sau đó, lấy ra từng phần tử trong stack và queue để so sánh với nhau. Nếu tất cả các phần tử trong stack đều giống với phần tử trong queue ở vị trí tương ứng thì chuỗi đó có tính chất Palindrome.
Nói chung, Stack và Queue là 2 cấu trúc dữ liệu quen thuộc đối với các lập trình viên. Mong rằng, bài viết chia sẻ của FUNiX về hướng dẫn ứng dụng cấu trúc dữ liệu Stack và Queue trên đây sẽ giúp ích nhiều cho bạn trong công việc của mình . Chúc các bạn thành công!
>>> Nếu bạn đang có nhu cầu tìm hiểu về khóa học lập trình đi làm ngay. Hãy liên hệ với FUNiX ngay tại đây:
- Phân tích dữ liệu kinh doanh là làm gì năm 2022
- Data analyst là gì? Tất cả những gì cần biết về nghề phân tích dữ liệu Data analyst
- Trang bị Kỹ năng phân tích dữ liệu cho người mới
- Nhà phân tích dữ liệu làm gì: mô tả, trách nhiệm?
- Giải đáp về Các loại nhà phân tích dữ liệu Data Analyst
- Học phân tích dữ liệu ở đâu? Cơ hội nghề nghiệp của Data Analyst
- 5 Công cụ phân tích dữ liệu chuẩn, hiệu quả nhất hiện nay
- Vai trò của Python trong phân tích dữ liệu và khoa học dữ liệu
Phạm Thị Thanh Ngọc
Bình luận (0
)