六 基本資料結構 雙端佇列(Deque)

2021-10-07 04:42:13 字數 1422 閱讀 2521

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是隊尾元素。這樣我們就可...