小鱼要学数据结构(基于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'))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章