队列
jiyanfeng1
喜欢算法和编程的工科男
展开
-
用堆栈模拟队列,和用队列模拟堆栈
两个堆栈模拟队列:堆栈a和b,a用作入队,b出队(1)判队满:如果a满且b不为空,则队满(2)判队空:如果a和b都为空,则队空(3)入队:首先判队满。 若队不满:(1)栈a若不满,则直接压入栈a (2)若a满,则将a中的所有元素弹出到栈b中,然后再将元素入栈a(4)出队:(1)若b空就将a中原创 2012-09-23 13:06:34 · 2602 阅读 · 0 评论 -
实现一个队列,这个队列除了有EnQueue, DeQueue操作,还有一个Max操作,三个操作复杂度都是O(1)
实现一个队列,这个队列除了有EnQueue, DeQueue操作,还有一个Max操作,三个操作复杂度都是O(1)。这里的Max操作是指,求出队列里的最大元素。思路:可以先实现一个stack类,这个stack类有入栈,出栈,和求最大值的操作。这三个操作都可以在O(1)内实现(参见Cracking the Code Interview)。然后再用两个stack对象实现队列(参见Cracki原创 2013-01-20 05:46:44 · 3288 阅读 · 0 评论 -
用二叉链表实现完全二叉树 (Linked Complete Binary Tree) 的实现(二)
用二叉链表实现完全二叉树 (Linked Complete Binary Tree) 的实现(一)本文采用STL来实现队列,并用这个队列实现Linked Complete Binary Tree的插入函数。代码非常简洁,代码如下:#include #include #include using namespace std;struct Node{ int key;原创 2013-02-22 02:36:34 · 1204 阅读 · 0 评论 -
所有子序列的最大值 Maximum of all subarrays of size k
给定一个数组和一个整数k,翻译 2014-11-24 05:34:34 · 733 阅读 · 0 评论 -
[LeetCode] Sudoku Solver
Write a program to solve a Sudoku puzzle by filling the empty cells. Empty cells are indicated by the character '.'. You may assume that there will be only one unique solution.下面的算法用广度搜索的思想,在每一个空的ce原创 2014-12-25 22:50:20 · 491 阅读 · 0 评论