演算法導論例程 佇列

2021-07-09 21:26:12 字數 381 閱讀 7656

佇列是一種delete的方式同棧不同的資料結構,遵循先進先出原則,因此對於佇列我們需要它的head和tail兩個屬性來描述入隊和出隊。佇列的結構如下

#define length 1000

typedef struct

queue;

這裡把佇列的長度巨集定義了具體的數值,在實際應用時可以使用sizeof來獲取,或以動態記憶體分配的方式來申請佇列空間。

下面來看佇列的兩個操作:

void enqueue(queue q, int x)

int dequeue(queue q)

當佇列中的元素全部出隊時,我們令head = 0讓佇列對資料的獲取」重新開始「。

演算法導論例程 雜湊表

雜湊表 hash table 是普通陣列概念的推廣,對於乙個比較小的規模的資料,我們對其儲存採用的是將其存在乙個等規模的陣列中,並且直接根據陣列下標對其進行定址,這被稱為直接定址法。而當資料規模增大到一定程度時,我們採用直接定址法進行遍歷時會打打加重程式的時間複雜度,而一種理想的解決辦法就是根據資料...

演算法導論例程 紅黑樹

紅黑樹是比較重要的資料結構,作為乙個典型的平衡二叉樹 沒有一條簡單路徑是其他路徑的二倍 它與二叉搜尋樹的區別是它的結點多了乙個屬性 color,color有兩種值,red和black,顏色的選取遵循以下原則 1 每個節點是紅色的,或是黑色的 2 根節點是黑色的 鬆弛紅黑樹 relaxed red b...

演算法導論 優先佇列

堆的應用 優先佇列。什麼是優先佇列?優先佇列是一種從來維護一組由元素構成的集合s的資料結構,其中每乙個元素都乙個值,被稱為關鍵字。優先佇列可以用堆來實現。優先佇列可以分為最大優先佇列 最小優先佇列。最大優先佇列支援的操作有 1.insert 2.maximum 3.extract max 4.inc...