接着上一篇读书笔记:先简单介绍了栈、队列和背包,然后涉及算法分析和书中的研究算法的方法。
分类:
其他好文 时间:
2014-05-10 07:52:56
阅读次数:
285
1.priority_queue priority_queue,greater >q;
//小根堆,即对头元素最小; priority_queue//默认情况,大根堆,即队头元素最大。(后续更新)2.deque【双端队列】
接口类似vector(单向插入删除) c.pop_back() 弹出最后一个...
分类:
编程语言 时间:
2014-05-10 05:30:09
阅读次数:
348
这段时间在群里看到很多人在问一些关于队列,同步,异步的总是,现在抽空给总结一下现在先说两个基本的概念,啥是进程,啥是线程,啥又是多线程;先把这两个总是给弄清再讲下面的进程:正在进行的程序,我们就叫它进程.线程:线程就是进程中的一个独立的执行路径.这句话怎么理解呢!
一个程序它是按顺序从上往下执行的,...
分类:
移动开发 时间:
2014-05-10 03:07:30
阅读次数:
351
进程间的通信(1)
进程间的通信IPC(InterProcessCommunication )主要有以下不同形式:
半双工管道和FIFO;全双工管道和命名全双工管道;消息队列,信号量和共享存储;套接字和STREAMS
管道
pipe函数
当从一个进程连接到另一个进程时,我们使用术语管道。我们通常是把一个进程的输出通过管道连接到另一个进程的输入。
管道是由调用pipe函数创建的:
#i...
分类:
系统相关 时间:
2014-05-09 22:33:56
阅读次数:
566
快速选择算法,就是从给定的一个集合S={a1,a2,...an}中选出第K个大小的数,或者给出其所在的下标之类的。
如果使用排序,比如merge_sort,然后返回第K个元素的下标,复杂度是O(NlogN)
如果使用heap_sort,或者优先队列,则复杂度是O(NlogK)
如果使用quick _sort的一个变种,叫 quick select,则平均复杂度为O(N),最坏复杂...
分类:
其他好文 时间:
2014-05-09 20:48:02
阅读次数:
841
队列是一种基于先进先出策略的数据集合。使用链表以及泛型机制来实现可以达到最优设计目标:
(1)可以处理任意类型的数据; (2)所需的空间总是和集合的大小成正比; (3)操作所需的时间总是和集合的大小无关。 1 import
java.util.Scanner; 2 import java.ut...
分类:
其他好文 时间:
2014-05-09 16:21:31
阅读次数:
288
一.介绍
HandlerThread继承自Thread,当线程开启时,也就是它run方法运行起来后,线程同时创建了一个含有消息队列
的Looper,并对外提供自己这个Looper对象的get方法,这就是它和普通Thread唯一不同的地方。
二.好处
为什么要使用HandlerThread。1.开发中如果多次使用类似new
Thread(){...}.start...
分类:
移动开发 时间:
2014-05-09 14:59:31
阅读次数:
429
在我们做多进程应用开发的过程中,难免会遇到多个进程访问同一个资源(临界资源)的状况,必须通过加一个全局性的锁,来实现资源的同步访问(同一时间只能有一个进程访问资源)。...
分类:
数据库 时间:
2014-05-09 13:55:33
阅读次数:
580
线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有处理器保持繁忙。如果所有线程池线程都始终保持繁忙,但队列中包含挂起的工作,则线程池将在一段时间后创建另一个辅助线程但线程的数目永...
分类:
编程语言 时间:
2014-05-09 13:51:25
阅读次数:
536
#include
using namespace std;
const int MAXQSIZE = 5;
//队列类
template
struct LinkList
{
T * data;//指向连续的数据存储区域
int front;//头指针 指向第一个元素
int rear;//尾指针 如果队列不为空指向最后元素的下一个位置
};
//构造一个空队列
template
void...
分类:
其他好文 时间:
2014-05-09 06:07:53
阅读次数:
248