第七章 Cach 演算法與資料結構 雙端佇列

2021-10-07 03:14:14 字數 1102 閱讀 3920

雙端佇列是指允許兩端都可以進行入隊和出隊操作的佇列,其元素的邏輯結構仍是線性結構。將佇列的兩端分別稱為前端和後端,兩端都可以入隊和出隊。

class pha.yx.arithmetic.doublequeue.node extends %registeredobject

method getdata()

method setdata(data)

method getfront()

method setfront(front as node)

method getnext()

method setnext(next as node)

}

class pha.yx.arithmetic.doublequeue extends %registeredobject

/* 移除頭元素 */

method removehead()

/* 隊尾增加元素 */

method addlast(data)

/* 移除隊尾元素 */

method removelast()

/* 判斷佇列是否為空 */

method isempty()

/* 佇列長度 */

method size()

/* 清除佇列 */

method clear()

/* 隊首迴圈遍歷佇列 */

method foreachhead()

/* 隊尾迴圈遍歷佇列 */

method foreachlast()

}

/// w ##class(pha.yx.arithmetic).doublequeue()

classmethod doublequeue()

4

*****=佇列長度*****=43

12*****=佇列倒序遍歷完成*****=21

34*****=佇列正序遍歷完成*****=

2*****=佇列長度*****=31

*****=佇列倒序遍歷完成*****=13

*****=佇列正序遍歷完成*****=

資料結構與演算法 第七章 遞迴

7.小結 8.參考 遞迴是一種程式設計技巧,在許多資料結構和演算法中都用了遞迴進行實現,如果要學習後面相對比較複雜的資料結構與演算法,掌握遞迴非常重要。我們先來看乙個例子,比如我們在電影院看電影,想知道自己坐在第幾排,但是電影院太黑沒法自己數,於是我們問前面的人他在第幾排,但是前面的人也不知道,所以...

資料結構第七章

平衡二叉樹 基本思想 在構造二叉排序樹的過程中,每插入乙個 結點時,首先檢查是否因插入而破壞了樹的平衡性,若是,則找出最小不平衡子樹,在保持二叉排序樹特 性的前提下,調整最小不平衡子樹中各結點之間的鏈 接關係,進行相應的旋轉,使之成為新的平衡子樹 平衡二叉樹 或者是一棵空的二叉排序樹,或者是具 有下...

PTA資料結構與演算法 第七章 排序

1 1僅基於比較的演算法能得到的最好的 最壞時間複雜度 是o nlogn t 對n個記錄進行快速排序,在最壞的情況下,其時間複雜度是o nlogn 1 2對n個記錄進行簡單選擇排序,比較次數和移動次數分別為o n2 和o n t1 3 對n個不同的資料採用氣泡排序進行從大到小的排序,當元素基本有序時...