asp响应式h5网站源码,珠海新闻,广东建设厅网站首页,网站打开速度检测攻击栈
一张图可以简单的说明 为了达到时间复杂度最低#xff1a;选择的是python列表实现栈#xff0c;而列表是顺序表 入栈push的时候选择在列表的尾部进行添加元素#xff0c;出栈在列表尾部弹出
class Stack(object):栈def __init__(…栈
一张图可以简单的说明 为了达到时间复杂度最低选择的是python列表实现栈而列表是顺序表 入栈push的时候选择在列表的尾部进行添加元素出栈在列表尾部弹出
class Stack(object):栈def __init__(self):self.items []def is_empty(self):判断是否为空return self.items []def push(self, item):加入元素self.items.append(item)def pop(self):弹出元素return self.items.pop()def peek(self):返回栈顶元素return self.items[len(self.items)-1]def size(self):返回栈的大小return len(self.items)if __name__ __main__:stack Stack()stack.push(hello)stack.push(world)stack.push(itcast)print stack.size()print stack.peek()print stack.pop()print stack.pop()print stack.pop()队列
队列queue是只允许在一端进行插入操作而在另一端进行删除操作的线性表顺序表链表均可。 为了达到时间复杂度最低选择的是python列表实现栈而列表是顺序表
如果选择在头部进行添加是O(n)尾部进行弹出是O(1) ----实际情况对队列进行弹出比较多
如果选择在尾部进行添加时O(1)头部进行弹出是O(n) —实际情况对队列进行添加比较多
class Queue(object):队列def __init__(self):self.items []def is_empty(self):return self.items []def enqueue(self, item):进队列self.items.insert(0,item)def dequeue(self):出队列return self.items.pop()def size(self):返回大小return len(self.items)if __name__ __main__:q Queue()q.enqueue(hello)q.enqueue(world)q.enqueue(itcast)print q.size()print q.dequeue()print q.dequeue()print q.dequeue()