[Arch] Java数据结构与算法 - 栈和队列

博客首页 » Arch Java数据结构与算法 - 栈和队列

发布于 20 Jul 2015 05:07
标签 blog
栈和队列是基本程序员工具。

不同结构类型
程序员工具:与数据存储(链表、树)相对,是构思算法的辅助工具,生命周期只是程序执行时。
受限访问:只有特定的一个数据可以被访问,除非作弊。
更加抽象:与内部实现无关。

push(v)
pop()
peek()

isFull()
ieEmpty()
size()

例子:
倒序
分隔符匹配

栈的所有操作都是 O(1)

insert(v)
remove()
peek()

isFull()
ieEmpty()
size()

效率 O(1)

环绕式处理 front, rear

双端队列 DeQue

insertLeft()
insertRight()
removeLeft()
removeRight()

禁用一侧端口就变成了栈

优先级队列

优先的一端,不优先的放在另一端。
通常用堆实现。

应用:
图的最小生成树
操作系统优先级


本页面的文字允许在知识共享 署名-相同方式共享 3.0协议和GNU自由文档许可证下修改和再使用,仅有一个特殊要求,请用链接方式注明文章引用出处及作者。请协助维护作者合法权益。


系列文章

文章列表

  • Arch Java数据结构与算法 - 栈和队列

这篇文章对你有帮助吗,投个票吧?

rating: 0+x

留下你的评论

Add a New Comment