def BreadthWidthSearch(visibilityGraph, vrtx1, vrtx2): #Initialize the path path = Path() #Initialize the queue queue = Queue() #Add the starting vertex to the queue queue.Enqueue(vrtx1) #mark as visited visitedVrtcs = [vrtx1] #while the queue is not empty run until empty while (len(queue.GetQueue()) != 0): vrtx = queue.Dequeue() neighbor = visibilityGraph.GetVertexEdges(vrtx) for nxtVrtx in neighbor: #if the neighbor vertex has not been visited if ((visitedVrtcs.count(nxtVrtx) == 0)): #queue the next vertex queue.Enqueue(nxtVrtx) #mark as visited visitedVrtcs.append(nxtVrtx) path.AddToPath(vrtx, nxtVrtx) path.GetPaths() return path
def test_Enqueue_And_Dequeue(self): expectedResult = 1 testQueue = Queue() testQueue.Enqueue(1) testQueue.Enqueue(2) testQueue.Enqueue(3) testResult = testQueue.Dequeue() self.assertEqual(expectedResult, testResult)
def test_Empty_And_Size(self): expectedSize = 3 testQueue = Queue() testQueue.Enqueue(1) testQueue.Enqueue(2) testQueue.Enqueue(3) testSize = testQueue.Size() self.assertEqual(testSize, expectedSize) isEmpty = testQueue.IsEmpty() self.assertEqual(isEmpty, False) testQueue.Dequeue() testQueue.Dequeue() testQueue.Dequeue() isEmpty = testQueue.IsEmpty() self.assertEqual(isEmpty, True)
class BFS: def __init__(self,graph): self.size = len(graph) self.g = graph self.q = Queue(self.size) self.visited = [] for i in range(self.size): self.visited.append(0) def bfs(self,v): self.q.Enqueue(v) self.visited[v] = 1 print("visited vertax : "+ str(v)) while self.q.is_empty() != True: v = self.q.Dequeue() for i in range(self.size): if self.g[v][i] == 1 and self.visited[i] == 0: print("visited vertax : "+ str(i)) self.q.Enqueue(i) self.visited[i] = 1
from Queue import Queue The_Queue = Queue() The_Queue.Enqueue('Hello') The_Queue.Enqueue('World') The_Queue.Enqueue('Hady') print(The_Queue.Top()) print(The_Queue.Dequeue()) print(The_Queue.Dequeue()) print(The_Queue.Dequeue()) print(The_Queue.Dequeue())
Menu.Interface_Task3() #Создание объекта очереди: Q = Queue() while True: Step = Menu.Input_Controller() #Создание и заполнение очереди: if Step == 1: print ("Меню заполнения очереди:") print ("Введите изначальную длину очереди:") Length = Menu.Input_Controller() #Создание объекта очереди: Q = Queue() for i in range(1, Length + 1): print ("Введите ", i, " элемент очереди:") Data = Menu.Int_Controller() Q.Enqueue(Data) print ("Элемент успешно помещен в очередь!") print ("Ввод списка завершен.") Menu.Interface_Task3() #Вывод очереди: elif Step == 2: print ("Меню вывода очереди:") if Q.length == 0: print("Очередь пуста!") else: print("Длина очереди: ", Q.length) print("Очередь: ", Q.__repr__()) print ("Вывод очереди завершен.") Menu.Interface_Task3()