//指针在搜索算法中实例
//迷宫算法
//搜索最长用到的就是深度优先搜索和广度优先搜索
//深度优先搜索就像名字一样,对每一个道路一直搜索到底,
//为了防止思路,特别的设置了栈这种数据结构
//使得每次找到思路的时候还可以退出到出发点。
//
//
//广度优先搜索
//广度优先搜索就是利用队列性质先进先出的性质,把每次的搜索结果放入队列,
//排除思路等条件
//
/...
分类:
其他好文 时间:
2014-12-15 10:28:36
阅读次数:
194
如何快速获取队列中的最大值?最简单的办法,用一个for循环遍历,复杂度为o(n).解法二:用大顶堆来实现,复杂度为哦o(1),但是入队和出队复杂度变为o(logN),堆中的每一个元素还得有个指针指向它的后继元素。解法三:可以使用两个栈来模拟队列,从右边的栈进入元素相当于入队,出队时,只有当左边的栈为...
分类:
其他好文 时间:
2014-12-13 12:09:16
阅读次数:
173
简单的单调队列优化,注意是哪些点加入队列即可。#include #include #include #include #include #define N 500050#define LL __int64using namespace std;LL sum[N],dp[N]; int q[N];in...
分类:
其他好文 时间:
2014-12-11 00:13:08
阅读次数:
171
dispatch queue分成以下三种:
1)运行在主线程的Main queue,通过dispatch_get_main_queue获取。
2)并行队列global dispatch queue,通过dispatch_get_global_queue获取,由系统创建三个不同优先级的dispatch queue。并行队列的执行顺序与其加入队列的顺序相同。
3)串行队列se...
分类:
移动开发 时间:
2014-12-10 14:16:24
阅读次数:
166
题目:用两个队列实现一个栈
算法思路:
现有两个队列q1与q2,入栈:如果q1与q2都为空,那么我们选择q1入栈也就是入队列,比如q1入栈 1 2 3 4 ;现在要出栈,后进先出那么4要出栈。但是q1是一个
队列,先进先出,那么 1 2 3出队列 q2 1 2 3 入队列,q1中此时剩余4,把4出对列达到出栈的效果。 这个时候如果我们又加入一个元素5,那么我们应该把5放到
q1还是q2,...
分类:
编程语言 时间:
2014-12-09 12:23:45
阅读次数:
221
算法思路:
一个栈用来入队列,一个栈用来出队列:
现有两个栈s1 和s2;s1用来入栈,比如 队列进入 1 2 3 4 5 那么s1进栈 1 2 3 4 5 ,现在要出队列,意思就是要1先出来;
那么我们把栈s1的数据取出来都压到栈s2当中,那么栈s2就是 5 4 3 2 1 ;s2再出栈,此时1出栈就模拟出出队列的效果;
编写代码:
// QueueFrom2Stack.cp...
分类:
编程语言 时间:
2014-12-08 19:40:39
阅读次数:
215
栈是“后进先出”(LIFO,Last InFirst Out)的数据结构,与之相反,队列是“先进先出”(FIFO,First InFirst Out)的数据结构
队列的作用就像售票口前的人们站成的一排一样:第一个进入队列的人将最先买到票,最后排队的人最后才能买到票
在计算机操作系统或网路中,有各种队列在安静地工作着。打印作业在打印队列中等待打印。当敲击键盘时,也有一个存储键盘键入内容的队列,如...
分类:
其他好文 时间:
2014-12-08 09:19:21
阅读次数:
221
《算法》中二叉查找树一节的习题:按层遍历二叉查找树。可以使用队列来管理二叉查找树中的节点,节点按照如下方法入队出队:节点x入队当队列不为空时使用队列的第一个元素first如果节点first.left不为空则将fisrt.left入队如果节点first.right不为空则将first.right入队将...
分类:
其他好文 时间:
2014-12-06 00:00:43
阅读次数:
380
Handle
用于异步消息处理,发送消息后消息进入队列,然后发送消息函数即可返回,其他函数再逐个取出消息进行处理,也即接收消息与发送消息不是同步进行。
基本使用方法(异步消息处理机制)
(1)创建一个Handle对象
(2)将要执行的操作写在线程对象(runnable)的run方法当中(用匿名内部类实现);在run方法内部,执行postDelayed或者post方法
(3)调...
分类:
其他好文 时间:
2014-12-05 15:39:29
阅读次数:
273
3.5 实现一个MyQueue类,该类用两个栈来实现一个队列。解答队列是先进先出的数据结构(FIFO),栈是先进后出的数据结构(FILO), 用两个栈来实现队列的最简单方式是:进入队列则往第一个栈压栈, 出队列如果第二个栈不为空,则直接从第二个栈出队列,否则将第一个栈的数据依次压入第二个栈,然后出栈...
分类:
其他好文 时间:
2014-12-04 21:25:24
阅读次数:
168