/ / Cách triển khai hàng đợi trong Python

Cách triển khai hàng đợi trong Python

Hàng đợi là một cấu trúc dữ liệu linh hoạt mà bạn có thể sử dụng trong nhiều cài đặt khác nhau. Từ các thuật toán lập lịch trình CPU đến các ứng dụng web, nó được tìm thấy ở khắp mọi nơi.


Nếu bạn đang phấn đấu trở thành một nhà phát triển Python, thì điều quan trọng là bạn phải bắt kịp tốc độ với cấu trúc dữ liệu đơn giản nhưng có mặt khắp nơi này. Hãy cùng tìm hiểu cấu trúc dữ liệu hàng đợi là gì và cách triển khai nó trong Python.


Cấu trúc dữ liệu hàng đợi là gì?

Minh họa cấu trúc dữ liệu hàng đợi
Tín dụng hình ảnh: Wikipedia

Hàng đợi là một cấu trúc dữ liệu tuyến tính, tuân theo nguyên tắc Nhập trước xuất trước (FIFO). Điều này có nghĩa là, khi bạn tìm nạp một phần tử từ hàng đợi, bạn sẽ nhận được bất kỳ phần tử nào bạn đã thêm trước các phần tử khác.

Dưới đây là các thao tác cơ bản mà bạn có thể thực hiện trên hàng đợi:

  • Enqueue: Thêm phần tử vào hàng đợi.
  • Dequeue: Loại bỏ các phần tử khỏi hàng đợi.
  • Print: In các phần tử trong hàng đợi.
  • Front: Lấy phần tử ở đầu queue.
  • Phía sau: Lấy phần tử ở phía sau hàng đợi.

Bạn có thể triển khai cấu trúc dữ liệu hàng đợi trong Python theo hai cách: sử dụng bộ chứa danh sách hoặc hàng đợi kết thúc kép từ mô-đun bộ sưu tập. Đối với chương trình này, bạn sẽ sử dụng một danh sách.

Cách triển khai cấu trúc dữ liệu hàng đợi trong Python

Bạn sẽ triển khai một hàng đợi bằng cách sử dụng bộ chứa danh sách trong Python. Bắt đầu bằng cách khai báo một danh sách trống với tên xếp hàng.

 queue = [] 

Bây giờ bạn cần chấp nhận đầu vào của người dùng và thực hiện thao tác do người dùng nhập. Đầu tiên, in ra một dòng nhắc người dùng nhập lệnh. Sau đó, đợi đầu vào của người dùng và lưu trữ nó trong yêu cầu Biến đổi.

Sử dụng các câu lệnh if của Python, thực hiện thao tác tương ứng với lệnh mà người dùng nhập vào. Nếu họ nhập một lệnh không được nhận dạng, hãy thoát khỏi chương trình. Đặt các hoạt động này bên trong một vòng lặp vô hạn để đảm bảo rằng chương trình tiếp tục chạy trừ khi chúng thoát.

 while True:
  command = input("What do you want to do? ")

  if command == "enqueue":
    
  elif command == "dequeue":
    
  else:
    break

print(queue)

xếp hàng

Bây giờ bạn đã xử lý luồng điều khiển chính của chương trình, bạn có thể xác định khối mã cho từng thao tác. Đầu tiên, viết mã cho enqueue. Enqueue có nghĩa là chèn một phần tử vào cuối hàng đợi. Bạn có thể làm điều này bằng cách sử dụng nối thêm () phương pháp:

 if command == "enqueue":
  enqueue = int(input("Enter the element to Enqueue: "))

xếp hàng

Bây giờ, hãy viết mã để loại bỏ một phần tử khỏi hàng đợi. Bạn có thể thực hiện việc này bằng phương thức pop với 0 làm chỉ mục. Tại sao? Như bạn đã biết trước đó, một hàng đợi tuân theo thứ tự FIFO, vì vậy phần tử đầu tiên bạn đưa vào hàng đợi phải là phần tử đầu tiên bạn loại bỏ.

 if command == "dequeue":
  queue.pop(0)

Đằng trước

Tiếp tục, viết mã để in phần tử ở đầu hàng đợi. Chỉ cần in ra chỉ số thứ 0 của hàng đợi.

 if command == "front":
  print(queue[0])

Ở phía sau

Giống như mã cho thao tác phía trước, để thực hiện thao tác phía sau, in ra phần tử ở chỉ mục cuối cùng. Để thực hiện việc này, trước tiên hãy sử dụng hàm len() trên hàng đợi, sau đó trừ 1 khỏi hàng đợi để tìm chỉ mục cuối cùng.

 if command == "rear":
  print(queue[len(queue) - 1])

In

Cuối cùng, viết mã cho lệnh in. Chỉ cần in ra danh sách bằng tiêu chuẩn của Python in() chức năng.

 if command == "print":
  print(queue)

Nếu văn bản người dùng nhập không khớp với lệnh được hỗ trợ, hãy thoát ra khỏi vòng lặp while bằng cách sử dụng câu lệnh ngắt. Mã cuối cùng sẽ trông như thế này:

 queue = []

while True:
    command = input("What do you want to do?n")

    if command == "enqueue":
        enqueue = int(input("Enter the element to Enqueue: "))
        queue.append(enqueue)
    elif command == "dequeue":
        queue.pop(0)
    elif command == "print":
        print(queue)
    elif command == "front":
        print(queue[0])
    elif command == "rear":
        print(queue[len(queue)-1])
    else:
        break

print(queue)

Chạy chương trình để thử các thao tác xếp hàng khác nhau. Sử dụng lệnh in để xem chúng ảnh hưởng đến hàng đợi của bạn như thế nào. Bây giờ bạn đã tạo triển khai hàng đợi đơn giản của riêng mình trong Python.

Hàng đợi chỉ là một trong nhiều cấu trúc dữ liệu hữu ích

Khái niệm về cấu trúc dữ liệu là một khái niệm quan trọng mà mọi sinh viên khoa học máy tính phải nắm vững. Rất có thể bạn đã học hoặc làm việc với một số cấu trúc dữ liệu cơ bản như mảng hoặc danh sách.

Người phỏng vấn cũng có xu hướng đặt câu hỏi liên quan đến cấu trúc dữ liệu, vì vậy nếu bạn đang tìm kiếm một công việc lập trình được trả lương cao, bạn sẽ cần phải trau dồi kiến ​​thức về cấu trúc dữ liệu của mình.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *