數據結構筆記:單線隊列

原文地址

分類目錄——數據結構筆記

  • 隊列

兩端開口的數據結構

隊列有單向隊列(我姑且這麼稱之)和雙端隊列

  • 單項隊列

只能一端只能存入,一端只能取出,先進先出

可以通過線性表(順序表或鏈表)實現

  • 單向隊列的實現

    class Queue(object):
        def __init__(self):
            '''初始化一個空隊列'''
            self.__list = []
    
        def enqueue(self, item):
            '''入隊列'''
            self.__list.append(item)
    
        def dequeue(self):
            '''出隊列'''
            return self.__list.pop(0)   # 時間複雜度O(n)
        # 在使用list的情況下,enqueue 與 dequeue的時間複雜度總是一個O(1),一個O(n)
        # 應該視操作入隊還是出隊操作多而決定應用list的方法
    
        def is_empty(self):
            '''是否爲空'''
            return not self.__list
    
        def size(self):
            '''隊列中元素數量'''
            return len(self.__list)
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章