日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

栈和队列(python代码)

發布時間:2024/9/30 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 栈和队列(python代码) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.棧【Stack】:是只限定在表的一端進行數據插入和刪除的線性表

2.隊列【Queue 】:是在表的一端進行數據插入,在表的另一端進行數據的刪除的線性表

3.棧和隊列都是線性表:線性表只是一種線性結構,內存中存儲數據和刪除數據的方式

4.棧和隊列的相同點和不同點

? ? (1)相同點:

? ? ? ? ? ? ? ①:棧和隊列都是線性表

? ? ? ? ? ? ? ②:?插入數據都是表尾進行的

? ? ? ? ? ? ? ③:?都可以通過順序結構和鏈式結構實現

? ? ? ? ? ? ? ④:?插入和刪除的時間復雜度和空間復雜度是一樣的

? ? (2)不同點:

? ? ? ? ? ? ?①:刪除數據的位置不同,棧在表尾刪除,隊列在表頭刪除

? ? ? ? ? ? ?②:?應用場景不同:

? ? ? ? ? ? ? ? ? ? ? ?a.常用棧的場景:變量的定義、運算表達式、函數的調用、深度優先遍歷等

? ? ? ? ? ? ? ? ? ? ? ?b.常見的隊列的應用場景:計算機中各種資源的管理和分配,廣度優先遍歷等

5. 棧的插入和刪除過程:

# 棧: 列表的底層維護了一個棧結構stack = [] print(stack)# 入棧【向棧中存數據】 : append stack.append(1) print(stack) stack.append(2) print(stack) stack.append(3) print(stack) stack.append(4) print(stack)# 出棧【從棧中取數據】:pop stack.pop() print(stack) stack.pop() print(stack) stack.pop() print(stack) stack.pop() print(stack)""" 特點:先進后出,后進先出 """

運行結果:

?5.隊列的插入和刪除的過程

# 隊列 import collections# 創建一個空隊列 queue = collections.deque() print(queue)# 入隊【向隊列中添加數據】:append queue.append(1) print(queue) queue.append(2) print(queue) queue.append(3) print(queue) queue.append(4) print(queue)# 出隊【向隊列中獲取數據】:popleft:表頭/ pop:表尾 queue.popleft() print(queue) queue.popleft() print(queue) queue.popleft() print(queue) queue.popleft() print(queue)""" 特點: 先進先出,后進后出 """

運行結果:

總結

以上是生活随笔為你收集整理的栈和队列(python代码)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。