6.基本資料結構-雙端佇列(deque)
一.雙端佇列(deque)
- 概念:deque(也稱為雙端佇列)是與佇列類似的項的有序集合。它有兩個端部,首部和尾部,並且項在集合中保持不變。
- 特性:deque 特殊之處在於新增和刪除項是非限制性的。可以在前面或後面新增新項。同樣,可以從任一端移除現有項。在某種意義上,這種混合線性結構提供了單個資料結構中的棧和佇列的所有能力。
- 注意:即使 deque 可以擁有棧和佇列的許多特性,它不需要由那些資料結構強制的 lifo 和 fifo 排序。這取決於你如何持續新增和刪除操作。
二.python實現deque
- deque的抽象資料型別定義:deque的抽象資料型別應該由以下結構和操作定義。其中元素可以從首部或尾部的任一端新增和移除。deque操作如下:
class deque:分類:def __init__(self):
self.items =
defisempty(self):
return self.items ==
defaddfront(self, item):
defaddrear(self, item):
self.items.insert(0,item)
defremovefront(self):
return
self.items.pop()
defremoverear(self):
return
self.items.pop(0)
defsize(self):
return len(self.items)
資料結構+演算法
好文要頂
關注我收藏該文
波曉張關注 - 2
粉絲 - 542
+加關注
0 0
posted @
2019-03-13 19:14
波曉張 閱讀(
0)
編輯
收藏
重新整理頁面
返回頂部
登入 或
註冊,
訪問 **首頁。
【推薦】了解你才能更懂你,首發問卷調查,助力社群新公升級
【推薦】超50萬行vc++原始碼: 大型組態工控、電力**cad與gis原始碼庫
【推薦】精品問答:微服務架構 spring 核心知識 50 問
六 基本資料結構 雙端佇列(Deque)
概念 deque 也稱為雙端佇列 是與佇列類似的項的有序集合。它有兩個端部,首部和尾部,並且項在集合中保持不變。特性 deque 特殊之處在於新增和刪除項是非限制性的。可以在前面或後面新增新項。同樣,可以從任一端移除現有項。在某種意義上,這種混合線性結構提供了單個資料結構中的棧和佇列的所有能力。注意...
雙端佇列之單調佇列 基本資料結構
看到題目我們可以從題目中獲取部分關鍵資訊,首先它時要求給定的區域時最小的,其次又是區間最優,通過最優我們可以想到單調性,切記 我們這裡的單調條件就是 名畫種類遞增 廢話不多說,貼上 include include using namespace std const int n 1e6 100 con...
資料結構 佇列 雙端佇列
佇列 queue 是只允許在一端進行插入操作,而在另一端進行刪除操作的線性表。佇列是一種先進先出 first in first out 的線性表,簡稱fifo。允許插入的一端為隊尾,允許刪除的一端為對頭。佇列不允許在中間部位進行操作。假設佇列是q 那麼a1就是對頭元素,而an是隊尾元素。這樣我們就可...