码迷,mamicode.com
首页 >  
搜索关键字:入队    ( 1629个结果
poj1094Sorting It All Out 拓扑排序
做拓扑排序的题目,首先要知道两条定理: 1、最后得到的拓扑数组的元素个数如果小于n,则不存在拓扑序列。 (有圈) 2、如果一次入队的入度为零的点数大于1,则拓扑序列不唯一。 (关系不确定) 本题有一个默认的东西,如果到了第K(看K#include#includeusing nam...
分类:其他好文   时间:2014-08-31 13:14:31    阅读次数:271
循环队列假溢出
循环队列中,由于入队时尾指针向前追赶头指针;出队时头指针向前追赶尾指针,造成队空和队满时头尾指针均相等。因此,无法通过条件front==rear来判别队列是"空"还是"满"。解决这个问题的方法至少有三种:① 另设一布尔变量以区别队列的空和满;② 少用一个元素的空间。约定入队前,测试尾指针在循环意义下...
分类:其他好文   时间:2014-08-30 21:40:40    阅读次数:419
HDU 4948
题目大义: 给一张图,任意两点间有单向边,找出一种方案,使得每个新入队的点与队中的点距离2,则必有A->C,B->C,则有C入度>A,矛盾! 故恒有解代码:#include #include #include #include #include #include #include #includ.....
分类:其他好文   时间:2014-08-29 15:51:28    阅读次数:142
013使用两个栈实现一个队列(keep it up)
使用两个栈实现一个队列 队列是先进先出的数据结构(FIFO),栈是先进后出的数据结构(FILO),  用两个栈来实现队列的最简单方式是:进入队列则往第一个栈压栈,  出队列则将第一个栈的数据依次压入第二个栈,然后出栈. 两条规则: 1)进队列,则直接压入第一个栈 2)出队列,若果第二个栈不为空,直接pop(),如过第二个栈为空, 则把第一个栈中的数据全部压入第二个栈(第一个栈此时为空...
分类:其他好文   时间:2014-08-27 01:40:37    阅读次数:230
ZOJ 3802 Easy 2048 Again(状压dp)
这道题的意思就是:2048游戏变成了只有一行的时候的玩法,可以向左合并。给你一串数字你可以选择一些加入队列,和为每个数的和,加上合并成的数字。 解题思路:如果一个序列可以合并那么它一定是降序的,比如:32,16,8,4否则的话,他是不能合并的此时的和就确定了。比如32, 32, 8,16.后面的16怎么合并都会比8大,所以是16之前的数字不可能继续合并下去。通过分析我们可以知道降序序列最多会有1...
分类:其他好文   时间:2014-08-26 11:47:55    阅读次数:217
UVa 11039 (排序+贪心) Building designing
白书上的例题比较难,认真理解样例代码有助于提高自己后面的练习题相对简单,独立思考解决问题,增强信心题意:n个绝对值各不相同的非0整数,选出尽量多的数排成序列,使得该序列正负交错且绝对值递增。解法:先按绝对值从小到大排序,然后第一个数先入队,然后依次比较后面的数,如果和队尾的数符号相反则入队,直到所有...
分类:其他好文   时间:2014-08-25 22:48:35    阅读次数:241
UVa 540 小团体队列
题意:队列中有小团体(队列)。当入队时,如果有该团体的元素在队列中,则新元素排到该团体的尾部,否则排到队列的尾部。出队时和正常的一样,队首元素出列。 思路:这个用STL很好模拟,用纯C的话,很直接会想到用二维数组来做,每个团体是其中的一个一维数组,最多再开一个数组来对小团体编号进行排队。但是当时没有看到题目中说的每个团体最后有1000个元素,这样的话我以为要开1000X200000的数组,忒大了...
分类:其他好文   时间:2014-08-25 13:24:34    阅读次数:179
(郝斌讲学)数据结构学习篇(五)---队列的CRUD操作
队列   什么是队列? 一种可以实现“先进先出”的存储结构。   出队  入队  -->>队列 出栈  压栈  -->>栈   链式队列 ---用链表实现的 静态队列 ---用数组实现的 静态队列通常必须是循环队列..   039.循环队列需要几个参数来确定极其含义的讲解 front代表的是队列的第一个元素 rear代表的是队列的最后一个有效元素的下一个元素   队...
分类:其他好文   时间:2014-08-24 16:45:52    阅读次数:212
关于NSOperationQueue 里面的 cancelAllOperations 无效的解决方法
答案是: 如果你取消了一个操作,它不会马上就发生。它会在未来的某个时候某人在“main”函数中明确地检查isCancelled==YES时被取消掉;否则,操作会一直执行到完成为止。因为整个线程池是异步的.cancelAllOperations  相当于 把你加入队列中的所有线程 cancel   但是 这个操作必须有 但是 不能作为你用“取消所有线程”的按钮  你点击取消 设置一个参数 isca...
分类:其他好文   时间:2014-08-22 16:23:59    阅读次数:494
判断图中是否有环的方法
一、无向图 方法一:n算法:  原理是: 如果存在回路,则必存在一个子图,是一个环路。环路中所有顶点的度>=2。      第一步:删除所有度      第二步:将度数变为1的顶点排入队列,并从该队列中取出一个顶点重复步骤一。        如果最后还有未删除顶点,则存在环,否则没有环。 方法2: DFS搜索图,图中的边只可能是树边...
分类:其他好文   时间:2014-08-22 09:22:16    阅读次数:406
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!