‫Trong bài học này, chúng ta sẽ nói về ngăn xếp và Q.
‫Stacks và Qs là cấu trúc dữ liệu trong khoa học máy tính.
‫Cấu trúc dữ liệu là một định dạng tổ chức, quản lý và lưu trữ dữ liệu cho phép truy cập và
‫sửa đổi hiệu quả.
‫Mỗi cấu trúc dữ liệu có một cách riêng để lưu trữ và quản lý dữ liệu mà chúng ta chèn vào đó.
‫Có nhiều kiểu cấu trúc dữ liệu khác nhau, nhưng trong bài học này chúng ta sẽ xem xét hai kiểu rất
‫phổ biến và hữu ích khi chúng ta muốn xử lý dữ liệu trong một số trường hợp.
‫Cấu trúc dữ liệu đầu tiên chúng ta sẽ nói đến là ngăn xếp từ tên của nó.
‫Ngăn xếp lưu trữ dữ liệu ở dạng ngăn xếp.
‫Nếu chúng ta nhìn vào bức ảnh này về tảng đá xếp chồng lên nhau, chúng ta có thể dễ dàng lấy tảng đá
‫đầu tiên mà không làm cho chồng đá bị đổ.
‫Nhưng không thể lấy ra những cái ở giữa.
‫Chúng ta có thể dễ dàng lấy tảng đá đầu tiên mà không làm cho chồng đá rơi xuống, nhưng không thể lấy được
‫những tảng đá ở giữa.
‫Vì vậy, nó đầu tiên ra sau cùng hoặc cuối cùng vào.
‫Đầu tiên, một ngăn xếp về cơ bản chỉ thêm và xóa dữ liệu từ trên cùng.
‫Vì vậy, các ngăn xếp khái niệm này thường hoặc rất thường được sử dụng trong các thuật toán toán học và trong quản lý
‫dữ liệu của hệ điều hành.
‫Vì vậy, một số ví dụ về việc sử dụng ngăn xếp mà chúng ta có thể gặp phải, chẳng hạn như đảo ngược dữ liệu.
‫Vì vậy, để đảo ngược dữ liệu hoặc số bằng cách sử dụng ngăn xếp, nó rất đơn giản.
‫Ví dụ: nếu chúng ta chỉ lấy dữ liệu đầu vào từ người dùng và lưu trữ nó trong một ngăn xếp, thì
‫hãy bắt đầu xóa dữ liệu khỏi ngăn xếp từ trên xuống để dữ liệu sẽ được đảo ngược.
‫Vì vậy, sau đó có các nút quay lại của trình duyệt, chẳng hạn.
‫Vì vậy, trong khi xem các hướng dẫn và hướng dẫn bạn, trình duyệt của bạn sẽ lưu các trang web gạch chéo trang web mà
‫bạn đã nhấp vào và nhấn nút quay lại sẽ tải trang cuối cùng bạn đã truy cập.
‫Và cái trước nó, mà ở đây là một ví dụ trong sách giáo khoa, có thể hữu ích.
‫Và sau đó cũng có các nút hoàn tác và làm lại mà bạn có trong nhiều ứng dụng, nơi bạn có một ngăn
‫xếp về cơ bản lưu trữ những gì đã được thực hiện và sau đó hoàn tác hành động đã thực hiện đó.
‫Vì vậy, cả ngăn xếp và Q đều là bộ sưu tập giống như danh sách và từ điển.
‫Ngăn xếp có các thao tác riêng biệt mà chúng ta có thể sử dụng, chẳng hạn như để thao tác và quản lý dữ
‫liệu.
‫Và họ lưu trữ những cái mà chúng ta sẽ xem xét sẽ được đẩy.
‫Vì vậy, bằng cách sử dụng phương pháp đẩy, chúng ta có thể thêm dữ liệu vào ngăn xếp.
‫Tất nhiên, dữ liệu sẽ luôn được bổ sung trên đầu trang.
‫Sau đó, chúng ta có cửa sổ bật lên và sử dụng phương pháp cửa sổ bật lên, chúng ta có thể xóa dữ liệu khỏi đầu ngăn xếp.
‫Và cuối cùng chúng ta có phương thức peek sẽ trả về dữ liệu đối tượng trên đầu ngăn xếp mà không cần xóa nó.
‫Vì vậy, sau đó là các hàng đợi và lựa chọn là một loại cấu trúc dữ liệu khác thường được sử dụng trong lập trình QS
‫hoạt động giống như Q thực trong đời thực, chẳng hạn như kiểm tra sân bay nơi người đầu tiên ở quầy lễ tân được
‫phục vụ trước, hoặc như trong nhà hàng. Lái xe qua nơi xe phía trước sẽ nhận thứ
‫tự trước và khi có xe mới vào, họ phải đợi ở phía sau hàng và chúng tôi sẽ được phục vụ lần cuối.
‫Vì vậy, chúng tôi sử dụng Qs khi thứ tự dữ liệu quan trọng.
‫Vì vậy, dữ liệu chỉ có thể được thêm vào từ phía sau và loại bỏ từ phía trước và không thể truy cập các phần tử
‫ở giữa.
‫Đó là hệ thống FIFO.
‫Vì vậy, vào trước, xuất trước, ví dụ như trong hệ điều hành, thông báo xếp hàng, yêu cầu IO,
‫chuyển động chuột, v.v. để chúng có thể được thực thi theo thứ tự đã nhập.
‫Sau đó, quản lý các yêu cầu web và một máy chủ để xử lý từng yêu cầu một.
‫Vì vậy, đó là cách xử lý tắc nghẽn và xếp hàng đầu vào trong trò chơi điện tử, và một trò chơi chiến đấu với các cuộc tấn
‫công kết hợp như Street Fighter, nơi bạn phải theo dõi đầu vào của người dùng để xác định
‫kết hợp sẽ được thực hiện.
‫Người Do Thái có các thao tác độc đáo của riêng họ mà chúng ta có thể thực hiện trên họ để thao túng hoặc quản lý dữ liệu họ lưu trữ.
‫Ví dụ, sử dụng phương pháp NQ, chúng ta có thể thêm dữ liệu vào hàng đợi.
‫Tất nhiên dữ liệu sẽ luôn được thêm vào phía sau hàng đợi, vì vậy sẽ rất hiếm.
‫Vì vậy, ở phía sau, có thể nói như vậy.
‫Sau đó, chúng ta có phương thức hàng đợi.
‫Chúng ta có thể xóa dữ liệu từ phía trước hàng đợi bằng cách sử dụng phương thức hàng đợi.
‫Và cuối cùng chúng ta có phương thức peak sẽ trả về đối tượng hoặc dữ liệu ở phía trước hàng đợi mà không cần loại
‫bỏ nó.
‫Vì vậy, bạn chỉ đang nhìn vào, nhưng bạn không làm bất cứ điều gì khác với nó, chỉ nhìn xem có gì ở đó?
‫Và sau đó bạn có thể sử dụng nó.
‫Vì vậy, tiếp theo chúng ta sẽ xem xét cách chúng ta thực sự có thể triển khai và sử dụng các ngăn xếp và hàng đợi trong C-sharp.