自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 OS的进程调度算法

在多进程、多线程并发的环境里,从概念上看,有多个进程或者多个线程在同时执行,具体到单个CPU级别,实际上任何时刻只能有一个进程或者线程处于执行状态;因此OS需要决定哪个进程执行,哪些进程等待,也就是进程的调度。 一、调度的目标 1、首先要区分程序使用CPU的三种模式:IO密集型、计算密集型和平...

2012-10-21 23:04:46

阅读数 5293

评论数 0

原创 再来一道概率题

桶中有M个白球,小明每分钟从桶中随机取出一个球,涂成红色(无论白或红都涂红)再放回,问小明将桶中球全部涂红的期望时间是? 下面是从CSDN论坛上找到的一个解法: E(1)=1 //拿到第一个白球并将它涂红的期望时间 E(2)=M/M-1 //拿到第2个白球并将它涂红的期望时间 E(3)=M...

2012-10-18 20:27:13

阅读数 5193

评论数 0

原创 一道概率问题

马路口,30分钟内看到汽车的概率是95%,那么在10分钟内看不到汽车的概率是? 分析:将10分钟看成一个最小的独立事件,那么这个问题就可以转换这样叙述: 进行三次抽样抽到的概率为95%,那么每次抽不到的概率是多少? 解:假设每次抽不到的概率都为X,那么 1 - X^3 = 95% =&...

2012-10-18 12:48:51

阅读数 6207

评论数 1

原创 特殊的数组排序问题

问题:有一个数组A,将A排序之后,原数组中的每个元素在排序数组中位置相差不超过K. 请设计一个排序算法。 解: 首先对这个问题可以采用任意一种排序算法,例如使用归并排序可以在O(nLog(n))的时间内完成。 题目中给出每个元素在排完序后和原来的位置相差不超过K,即其实就说明了这...

2012-10-18 10:54:48

阅读数 5529

评论数 0

原创 寻找两个有序数组中的第K个数或者中位数

假设有长度分为为M和N的两个升序数组A和B,在A和B两个数组中查找第K大的数,即将A和B按升序合并后的第K个数。 解法一: 使用两个指针指向A和B的开头,很容易在O(M+N)的时间内完成,此算法略过。 解法二: 使用二分的方法。算法思想在代码注释中 #include ...

2012-10-16 17:25:32

阅读数 15440

评论数 2

原创 100盏灯泡的开关问题

问题: 有100盏灯泡,第一轮点亮所有电灯,第二轮每两盏灯熄灭一盏,即熄灭第2盏,第4盏,以此类推,第三轮改变编号为3的倍数的电灯,第3盏,第6盏,如果原来那盏灯是亮的,就熄灭它,如果原来是灭的,就点亮它,以此类推,直到第100轮。问第100结束后,还有多少盏灯泡是亮的? 解答: 由...

2012-10-13 11:25:36

阅读数 8641

评论数 1

原创 判断两个线段\矩形相交

如何判断两个线段\矩形相交? 首先来判断两个线段的情况:假设有两个线段A和B,左右端点分别为A1,A2和B1,B2,分别考虑下面两种情况 1. 线段A在线段B的左边,即A1 A2 2. 线段A在线段B的右边,即A1> B1,那么 A,B不相交的条件是 B1 B2 那么将上面两种情况...

2012-10-13 10:20:37

阅读数 5652

评论数 0

原创 求正整数n所有可能的和式的组合

问题背景:求正整数n所有可能的和式的组合(如;4=1+1+1+1、1+1+2、1+3、2+1+1、2+2) 对于这个题目有两种理解了: 一> 如果将1+1+2和2+1+1当成不同的序列的话,这个问题会相对容易些。 拿n=4这个例子,首先最长的组合肯定是4=1...

2012-10-12 17:29:31

阅读数 7634

评论数 0

原创 动态规划求不相邻的最大子数组和

其实这个问题原题是这样描述的: 有N个节点,每两个节点相邻,每个节点只与2个节点相邻,因此,N个顶点有N-1条边。每一条边上都有权值wi,定义节点i到节点i+1的边为wi。 求:不相邻的权值和最大的边的集合。 对于这个问题可能看起来不是很好处理,把问题更加规范化一些:给出一个数组,求...

2012-10-12 11:51:44

阅读数 11773

评论数 6

原创 对程序性能优化的总结

1. 重中之重 - 算法优化: 程序性能优化最显著的优化方法是算法上的优化,算法的优化对性能的提升往往是一个数量级的,例如排序,冒泡的时间复杂度为O(N^2),而快速排序的时间复杂度为O(Nlog(N)),这种性能的提供是非常明显的。 2. 消除冗余的循环: 我们先看一下for循环生成的...

2012-10-12 10:25:41

阅读数 5203

评论数 0

转载 负数的取模运算

我们知道,在不同的语言中,对负数执行取模运算,结果有可能会是不同的。例如,(-11)%5在python中计算的结果是4,而在C(C99)中计算的结果则是-1。   truncate除法 && floor除法   在大多数编程语言中,如果整数a不是整数b的整数倍数的话,那么a、b...

2012-10-10 16:31:25

阅读数 5132

评论数 0

原创 动态散列(哈希)待续

这是一个很有意思的算法,暂时记下,以后有时间在些补上 有兴趣的先参考这里 http://blog.csdn.net/hintonic/article/details/7186613

2012-10-08 09:41:00

阅读数 4581

评论数 0

原创 实现指数函数Power

该题目不解释了,看代码,使用二分的思想, // int Power(int base, int exponent) { int result = 1; while (exponent) { if (exponent & 1) { result *= base; }...

2012-10-03 20:06:19

阅读数 4998

评论数 0

原创 求抽取扑克牌顺子的概率

从一副扑克牌中随机抽取5张,决断这5张牌连续(成顺子的概率),大小王可以做为任意牌使用。 解: 对于这个问题,我们可以先考虑在没有大小王的情况下,我们抽取的概率是多少。没有大小王即总共有52张牌,因此抽取5张牌的组合数有 (52,5). 既然要成为顺子,那么顺子必须为1-5,2-6,...,9...

2012-10-03 17:09:21

阅读数 9637

评论数 2

原创 递归地反转一个栈

// // The code is used to reverse a stack recursively // #include #include using namespace std; // We can think about how we can reverse a stack ...

2012-10-03 16:18:11

阅读数 6281

评论数 0

原创 全排列算法

1. 考虑第一种情况即元素中没有重复的,本算法采用递归的方法很容易求出 // Print the permutation void PrintPermutation(const vector & per) { static int count = 1; cout << c...

2012-10-02 21:08:40

阅读数 5143

评论数 0

原创 打印所有括号匹配排列方式

对于2对左右括号,其排列方式有: ( ( ) ) ( ) ( ) 4对括号的排列方式有: ( ( ( ( ) ) ) ) ( ( ( ) ( ) ) ) ( ( ( ) ) ( ) ) ( ( ( ) ) ) ( ) ( ( ) ( ( ) ) ) ( ( ) ( ) ( ) )...

2012-10-02 17:10:34

阅读数 5315

评论数 0

提示
确定要删除当前文章?
取消 删除