This commit is contained in:
zhm-real
2020-06-21 21:50:11 -07:00
parent e9a57e0b88
commit 022d9f4727
19 changed files with 149 additions and 134 deletions
+9 -13
View File
@@ -1,13 +1,7 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
@author: Huiming Zhou
"""
import collections
import heapq
class QueueFIFO:
"""
Class: QueueFIFO
@@ -21,10 +15,11 @@ class QueueFIFO:
return len(self.queue) == 0
def put(self, node):
self.queue.append(node) # enter from back
self.queue.append(node) # enter from back
def get(self):
return self.queue.popleft() # leave from front
return self.queue.popleft() # leave from front
class QueueLIFO:
"""
@@ -39,10 +34,11 @@ class QueueLIFO:
return len(self.queue) == 0
def put(self, node):
self.queue.append(node) # enter from back
self.queue.append(node) # enter from back
def get(self):
return self.queue.pop() # leave from back
return self.queue.pop() # leave from back
class QueuePrior:
"""
@@ -57,7 +53,7 @@ class QueuePrior:
return len(self.queue) == 0
def put(self, item, priority):
heapq.heappush(self.queue, (priority, item)) # reorder x using priority
heapq.heappush(self.queue, (priority, item)) # reorder x using priority
def get(self):
return heapq.heappop(self.queue)[1] # pop out the smallest item
return heapq.heappop(self.queue)[1] # pop out the smallest item