小魚要學數據結構(基於python)—Day4雙端隊列

數據結構(北大公開課)

線性結構

雙端隊列

1、雙端隊列知識框架
雙端隊列知識腦圖
2、雙端隊列的實現

#實現雙端隊列
class Deque:
    def __init__(self):
        self.items=[]
    def isEmpty(self):
        return self.items==[]
    def addFront(self,item):
        self.items.append(item)
    def addRear(self,item):
        self.items.insert(0,item)
    def removeFront(self):
        return self.items.pop()
    def removeRear(self):
        return self.items.pop(0)
    def size(self):
        return len(self.items)

3、雙端隊列應用——迴文詞判斷

#迴文詞判定
def palcheck(astring):
    chardeque=Deque()
    for ch in astring:
        chardeque.addRear(ch)
    stillEqual=True
    while chardeque.size()>1 and stillEqual:
        first=chardeque.removeFront()
        last=chardeque.removeRear()
        if first!=last:
            stillEqual=False
    return stillEqual
print(palcheck('lalalaiju'))
print(palcheck('radar'))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章