Pythonを使用して循環キュー!
8049 ワード
キューはスタックに似ていますが、F . I . F . Oメソッドに従います.
キューは、通常のPythonリストを使用しても、リンクリストを開発することができます.ここでは、時間の複雑さと空間の複雑さが通常のPythonリストを持つキューに比べて良いので、リンクリスト付きキューが望ましい.
Pythonのリストを持つキューでは、enqueueとdequeueは入力の増加とともに最悪の場合に終わります.したがって、より良いバージョンの循環キューです.
循環キューは、トラフィックのシステムでは、メモリ管理、CPUのスケジューリングで使用されるが、ここでのデータの増加の時間複雑さが最悪の空間が複雑に固定サイズで削減することができます.したがって、時間の複雑さが好ましいなら、リンクリストを使用してキューを実装することは常に良いことです.
Pythonでは循環キューの実装を調べることができます.
ここに行く.
誰もが健康と良い未来を……!
あなたは私をサポートすることができます..👇
キューは、通常のPythonリストを使用しても、リンクリストを開発することができます.ここでは、時間の複雑さと空間の複雑さが通常のPythonリストを持つキューに比べて良いので、リンクリスト付きキューが望ましい.
Pythonのリストを持つキューでは、enqueueとdequeueは入力の増加とともに最悪の場合に終わります.したがって、より良いバージョンの循環キューです.
循環キューは、トラフィックのシステムでは、メモリ管理、CPUのスケジューリングで使用されるが、ここでのデータの増加の時間複雑さが最悪の空間が複雑に固定サイズで削減することができます.したがって、時間の複雑さが好ましいなら、リンクリストを使用してキューを実装することは常に良いことです.
Pythonでは循環キューの実装を調べることができます.
ここに行く.
#we need Queue class to initialize fixed empty list with start and top
class CircularQ:
def __init__(self,maxSize):
self.data = maxSize *[None]
self.maxSize = maxSize
self.start = -1
self.top = -1
def __str__(self):
return str(self.data)
def isEmpty(self,value):
if self.top and self.star == -1:
return True
else:
return False
def isFull(self):
if self.top+1 == self.maxSize and self.start == 0:
return True
elif self.start+1 == self.top:
return True
else:
return False
def insert(self,value):
self.top+=1
self.data[self.top] = value
self.start=0
def delete(self):
first = self.data[self.start]
start = self.start
if self.start == self.top:
self.start =-1
self.top=-1
elif self.start+1 == self.maxSize:
self.start = 0
else:
self.start+=1
self.data[start] = None
return first
circular = CircularQ(5)
circular.insert(1)
circular.insert(2)
circular.insert(3)
circular.insert(4)
circular.insert(5)
circular.delete()
circular.delete()
print(circular)
ありがとう.誰もが健康と良い未来を……!
あなたは私をサポートすることができます..👇
Reference
この問題について(Pythonを使用して循環キュー!), 我々は、より多くの情報をここで見つけました https://dev.to/rohitbrk/circular-queue-using-python-141iテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol