堆优先队列:特殊的”队列”,取出元素的顺序是依照元素的优先权(关键字)大小,而不是元素进入队列的先后顺序
堆是优先队列的完全二叉树表示。
堆的两个特性:
①结构性:用数组表示的完全二叉树
②有序性:任意结点的关键字是其子树所有结点的最大值,叫最大堆(或最小值,叫最小堆)(注意从根结点到任意结点路径上结点序列的有序性)下面举一个最大堆的例子。
/** 最大堆的操作 */
typedef st...
分类:
编程语言 时间:
2015-02-17 22:21:37
阅读次数:
231
标号法过程为:(1) 先将 flag、 prev 和 alpha 这 3 个数组各元素都初始化-1 。(2) 将源点初始化为已标号未检查顶点,即 flag[0] = 0, prev[0] = 0, alpha[0] = INF, INF 表示无穷大;并将源点入队列。(3) 当队列非空并且汇点没有标号...
分类:
编程语言 时间:
2015-02-13 01:26:25
阅读次数:
258
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1058
题意:丑数是指只有2,3,5 or 7这几个素因数的数(所以1也是丑数),找到第n个丑数。
思路:除了2,3,5,7任何一个丑数都是由另一个丑数乘上2,或3,或5,或7得到的。
所以可以用优先队列,每取出一个丑数就入队他们乘上2,3,5,7得到的四个丑数,这样每个丑数都生成了。复杂度还是不...
分类:
其他好文 时间:
2015-02-12 09:21:27
阅读次数:
168
UITableView重用机制主要是依靠reuseIdentifier来辨别,以此来建立一个队列,将建好的Cell放入队列中,之后直接使用队列中的Cell,不再新建,极大的提升了TableView的重用性,同时使列表滑动时不会出现卡顿现象。TableView基本上是新手必学,我第一个熟练掌握的控件,及使用得最多的就是TableVIew,重用机制有很多地方很多人都讲过,不过我还是要从自己的角度来再次...
分类:
移动开发 时间:
2015-02-05 14:59:18
阅读次数:
177
【环境】CENTOS6.3 + wdcp(php5.3)【症状】可正常加入队列,但不执行队列【原因】大部份都是用户权限造成【原理】 Ecstore2.0的导入导出、发送邮件、日常清理备份等任务操作,都通过用入任务队列,然后采用LINUX的CRON任务调试定时来执行并清空队列。【方法】 第一步:测.....
分类:
其他好文 时间:
2015-01-30 15:17:02
阅读次数:
167
#include #include #include #include #include using namespace std;int main(){ int n; //string in,out; char in[1000],out[1000]; while(cin>>n>>in>>out) {...
分类:
其他好文 时间:
2015-01-29 12:17:45
阅读次数:
200
昨天苏州oj爆掉了,就没发,今天补上,利用的是循环队列来做的
内容:
【问题描述】
请设计一个程序模拟队列,具备初始队列、入队、出队、输出队列数据的功能。
【输入】
输入由若干行组成,每行表示一种操作。每行由一个或两个整数组成,其中第一个整数代表操作的类型:1表示初始队列操作,2表示入队操作,3表示出队操作、4表示输出队列信息,第二个整数表示操作所涉及的数据。
初始队列...
分类:
其他好文 时间:
2015-01-27 15:03:34
阅读次数:
162
rte_ring是一个无锁队列,无锁队列的出队入队操作是rte_ring实现的关键。因此,本文主要讲解dpdk是怎样使用无锁机制实现rte_ring的多生产者入队操作。 rte_atomic32_cmpset()称为CAS(compare and set)操作,是无锁队列实现的关键,实现的伪代码如下...
分类:
其他好文 时间:
2015-01-24 18:43:29
阅读次数:
928
昨天接到临时任务,需要将一个工作线程执行真正工作的时机推迟到CPU空闲时执行。当时第一感觉认为是将线程优先级设置为空闲级别就行了,以为只有CPU空闲下来才会去跑这个线程,实际上应该不是,毕竟即时是空闲级别也需要排入队列,只不过优先级低而已。当然其实也不能说CPU空闲时来执行,应该说使用率比较低的时候...
分类:
其他好文 时间:
2015-01-22 17:23:25
阅读次数:
157
题意 模拟团队队列的入队和出队
STL应用 用一个队列维护团队编号 再用一个队列数组维护个体
#include
#include
#include
#include
using namespace std;
const int N = 1000005;
int team[N];
int main()
{
int cas = 0, n, t, a;
char cm...
分类:
其他好文 时间:
2015-01-20 22:21:20
阅读次数:
182