没有合适的资源?快使用搜索试试~ 我知道了~
双端队列Deque及Python实现双端队列Deque双端队列Deque的Python实现双端队列Deque的应用:“回文词”判断 双端队列Deque 与队列类似,双端队列有两个人口,不同之处在于双端队列的两个口都既可以是入口也可以是出口,但数据项只能从两端进出。 所以 栈Stack 中次序遵守 ‘后进先出’ 原则。 双端队列Deque的Python实现 双端队列数据类型的定义如下: class Deque: def __init__(self): self.items = [] #建立一个空双端队列 def isEmpty(self): r
资源详情
资源评论
资源推荐
双端队列双端队列Deque及及Python实现实现
双端队列双端队列Deque及及Python实现实现双端队列Deque双端队列Deque的Python实现双端队列Deque的应用:“回文词”判断
双端队列双端队列Deque
与队列类似,双端队列有两个人口,不同之处在于双端队列的两个口都既可以是入口也可以是出口,但数据项只能从两端进
出。
所以 栈栈Stack 中次序遵守 ‘后进先出’ 原则。
双端队列双端队列Deque的的Python实现实现
双端队列数据类型的定义如下:
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) #返回队列里数据项的个数
注意:双端队列的首尾方向可以根据自己的需求去定义。注意:双端队列的首尾方向可以根据自己的需求去定义。
举个操作的例子:
命令语句命令语句 栈里的内容栈里的内容 返回值返回值
d=Deque() []
d.isEmpty [] True
d.addRear(1) [1]
d.addRear(‘a’) [ ‘a’,1]
d.addFront(‘bb’) [1, ‘a’,‘bb’]
d.addFront(55) [1, ‘a’,‘bb’,55]
d.size [1, ‘a’,‘bb’,55] 4
d.removerRear [ ‘a’,‘bb’,55] [1]
d.removerFront [‘a’,‘bb’] [55]
d.isEmpty [‘a’,‘bb’] False
双端队列双端队列Deque的应用:的应用:“回文词回文词”判断判断
判断一个词是否是回文词:
如:toot, pop, dad 等就是回文词
用双端队列很容易解决“回文词”问题
先将需要判定的词从队尾加入deque
再从两端同时移除字符判定是否相同,直到deque中剩下0个或1个字符
weixin_38525735
- 粉丝: 3
- 资源: 881
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0