- 博客(4)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 优先队列
优先队列是队列的一种,和普通队列一样只有入队,出队,取队头等操作。并不提供查找操作。但是区别于普通队列的先入先出,优先队列按照数据的优先等级出队。对于每次的入队和出队优先队列都会按照数据的优先级做动态的调整。 1.优先队列默认的是数据大的作为高的优先级。因此在将一系列数据入队以后,最终最大的数据将在队头即q.top()的位置。 priority_queueint> q; 标准的模板库中默认使
2012-08-22 15:52:05
683
原创 循环队列实现(C++)
循环队列:队列有着先入先出的特性。但是对于队列如果删除队头以后剩下的空间将不会被释放,又由于队列只能由队尾插入这就导致 被删除部分的空间被浪费。解决这个问题就是循环队列。循环队列顾名思义就是将队列串起来形成一个类似与环的结构。如图所示。对照着图很容易理解: 对于原来队列里的操作自然有不同的地方: 1.判断满:循环队列的满不再是rear=front 而是改成(rear-front+maxn)%
2012-08-20 14:10:27
2393
转载 汉诺塔问题的递归算法
一个庙里有三个柱子,第一个有64个盘子,从上往下盘子越来越大。要求庙里的老和尚把这64个盘子全部移动到第三个柱子上。移动的时候始终只能小盘子压着大盘子。而且每次只能移动一个。 1、此时老和尚(后面我们叫他第一个和尚)觉得很难,所以他想:要是有一个人能把前63个盘子先移动到第二个柱子上,我再把最后一个盘子直接移动到第三个柱子,再让那个人把刚才的前63个盘子从第二个柱子上移动到第三个柱子上,
2012-08-19 17:13:47
2159
原创 中缀表达式转后缀表达式求值
中缀表达式转后缀表达式是数据结构栈和队列很好的应用例子。难点主要就在于如何将中缀表达式转换为后缀表达式的问题上。下面就是转换的规则和需要注意的地方。 首先需要开一个栈和队列。栈用作临时的存储空间。队列则用于存放最终的后缀表达式。 中缀表达式转后缀表达式的规则: 1.开始在栈中压入一个#。然后从中缀表达式的左边开始遍历,如果遇到数字直接放入队列。如果是操作符则和栈顶比较, 如果优先级大于
2012-08-17 17:07:29
658
hdu 1176 免费馅饼
2012-05-19
使用openMP加速遇到的问题
2014-05-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人