码迷,mamicode.com
首页 >  
搜索关键字:入队    ( 1629个结果
堆排序
堆排算是排序算法中比较难的一个算法,在实现编码之前首先要对堆排的思想有一个清晰的思路,下面我们就来分析一下堆排序。    1.首先要明白堆排序第一步要有堆,也就是完全二叉树,那么问题来了,如何创建一个完全二叉树呢?完全二叉树是需要按层来创建的,如果你曾经编写过按层遍历二叉树这块会很好理解,按层的话要记录上一个结点,所以要用到     队列,创建的节点依次入队。    2.创建好完全二叉树,堆排...
分类:编程语言   时间:2015-04-21 09:56:25    阅读次数:165
一步两步学算法之顺序队列
顺序链表代码 非常简单;但这个代码会有假溢出的状况出现;就是在队尾已满的情况下,不断出队后若在此时进行入队操作 判断队列已满的条件是q->head==q->tail 此时这个条件满足。 但实际队列之前已经出队了好几个,前面还有空余空间,这就是假溢出;(原谅我懒得画图)假溢出解决办法1.每次出队后 把...
分类:编程语言   时间:2015-04-21 00:12:12    阅读次数:224
杭电ACM1181——变形课
这个题目,简单的搜索题,刚开始我是用并查集做的,结果很明显WA,后来想了下,如果有个单词m开头,b结尾的也可以,所以很错误的想法。运用广搜,可以很好的解决。 我的代码中的是将字符串的位置i入队的,不是整个字符串。 水题一个,下面是AC代码: #include #include #include using namespace std; bool vis[1000]; char...
分类:其他好文   时间:2015-04-20 14:55:53    阅读次数:128
宽度优先搜索(BFS)
宽度优先搜索,又称为广度优先搜索,简称BFS搜索过程:从初始结点开始,逐层向下扩展,即第n层搜索未完成,不得进入下一层搜索一、初始结点入队,进入循环二、取出队列的第一个元素三、判断该结点是不是目标结点,如果是目标结点,则问题解决,跳出循环四、如果该结点不是目标结点,判断其是否能够扩展,若不能,跳到步...
分类:其他好文   时间:2015-04-19 22:41:05    阅读次数:143
DS之顺序栈和链队实现回文判断
顺序栈和链队的基本操作就不再一一列举了,要想实现回文判断,先来了解什么是回文?“回文”一字符串正着读和反着读是相同的字符序列,如“abcba”,"abba"为"回文",“abab”则不是“回文”。         其次就是顺序栈和链队如何实现回文的判断?将输入的字符串依次入栈和入队,然后再依次出栈和出队,由于入栈和入队是相同的序列,然而出栈和出队是相反的序列,这就实现了回文的判断。      ...
分类:其他好文   时间:2015-04-17 22:25:05    阅读次数:149
队列的链式存储(时间复杂度最小)
/* * 2015年4月17日14:04:56 * 目的:用链式存储来实现队列 * 这里我最开始想使用单链表来实现 * 大家来想一下啊,其实单链表实现不是特别好 * 因为虽然出队列的时间复杂度就是O(1),但是 * 入队列的时间复杂度却是O(n),因为每次都是从末尾进行插入 * 从末尾插入你首先就要找到当前指向尾指针的结点,由于链表是单向的 * 所以必须从front开始进行遍历才能...
分类:其他好文   时间:2015-04-17 18:18:01    阅读次数:330
hdu Hike on a Graph
此题是道bfs搜索的题目。bfs的精髓就是找到下一步的所有可能然后存储起来,有点暴力的感觉,这题就是每步中 所有的可能都入队,然后一一 判断。这道题的题意是 :给你一幅完全图,再给你三个盘,目的是把这三个盘移动到一个点上,输出最少步数!盘移动的时候有要求,比如移第一个盘,把1盘移动到2这个位置,(1...
分类:其他好文   时间:2015-04-16 23:28:35    阅读次数:249
hdu 1728 逃离迷宫
以为这题和连连看一样水,就很开心的用了dfs然后tle了无数次,好吧,我bfs总行了吧,然后wa了无数次................. 之所以wa是因为在bfs的过程中有些点是可以重复加入队列的. 例如 1 3 3 ..* ... *.* 1 1 1 3 2 这组数据(行,列) 1 (1,1)→(1,2)→(2,2)→(2,3)要转2次弯; 2 (1,1)→(2,1)...
分类:其他好文   时间:2015-04-16 09:06:23    阅读次数:143
#299 (div.2) B. Tavas and SaDDas
1.题目描述:点击打开链接 2.解题思路:本题要求找出所给的幸运数的下标。本题类似于紫书上的一道例题ugly number。利用BFS即可解决。首先将4,7入队列,每次出队列后,将数字添加到set,同时将它们的末尾分别添加是4,7后得到新的幸运数入队列即可。上述过程打表后,直接输出即可。 3.代码: #define _CRT_SECURE_NO_WARNINGS #include #inc...
分类:其他好文   时间:2015-04-15 13:33:18    阅读次数:123
HDU 4006 The kth great number(优先队列·第K大数)
题意  动态查询第K大的数 用小数在前优先队列维护K个数  每要插入一个数时 若这个数小于队首元素那么就不用插入了  否则队首元素出队  这个数入队  每次询问只用输出队首元素就行了 #include #include using namespace std; int main() { int n, a, k; char op[5]; while(~scanf("%d%...
分类:其他好文   时间:2015-04-14 14:45:18    阅读次数:175
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!