スタックとキューキューキュー


Stack


スタックを単純にデータをスタックすると理解すればよい.例えば、箱を一列に積み上げる場合、最初に下に置いた箱が最後に出されてもよく、積み重ねは最初に最後の出力(FILO)を入力し、先に入ってから出る資料構造である.

Pythonの例:
stack = []
stack.append(1)
stack.append(2)
stack.append(3)
stack.pop() 
stack.append(4)
stack.append(5)

print(stack[::-1])
=> [5, 4, 2, 1]
上記の例に示すように、1から3の順にスタックし、pop()を使用して3を減算し、4と5をスタックします.結果を最後から出力すると、最後に入れた5から最初に入れた1まで出力されます.

Queue


キューはスタックブロックであり、逆に、先頭に入ったデータは先頭に出た形で現れ、第1の第1のアウトバウンド(FIFO)とも呼ばれ、先頭に入って先頭に出た.Qトンネルを例にとる.車道のトンネルがあって、車が順番に入ると、先進的な車が先に出てきます.

Pythonの例:
from collection import deque

queue = deque()

queue.append(1)
queue.append(2)
queue.append(3)
queue.popleft()
queue.append(4)
queue.append(5)
queue.append(6)

print(queue)
=>deque([2,3,4,5,6])
以上のように、1から6の順に値を入れた場合、真ん中から削除すると、最初に入った1が削除されます.最初に使ったお金は最初に使います.
ここで注意したいのはdequeライブラリを使用することです.Dequeライブラリを使用しない場合、時間の複雑さは非常に効果的ではありません.