自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (8)
  • 收藏
  • 关注

转载 OS的进程调度算法

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

2012-10-21 23:04:46 5473

原创 再来一道概率题

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

2012-10-18 20:27:13 5517

原创 一道概率问题

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

2012-10-18 12:48:51 6468 1

原创 特殊的数组排序问题

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

2012-10-18 10:54:48 5754

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

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

2012-10-16 17:25:32 16963 2

原创 100盏灯泡的开关问题

问题:有100盏灯泡,第一轮点亮所有电灯,第二轮每两盏灯熄灭一盏,即熄灭第2盏,第4盏,以此类推,第三轮改变编号为3的倍数的电灯,第3盏,第6盏,如果原来那盏灯是亮的,就熄灭它,如果原来是灭的,就点亮它,以此类推,直到第100轮。问第100结束后,还有多少盏灯泡是亮的?解答:由题意最如果最后某一盏灯是亮着的,那么它一定是被切换了奇数次(第0次的时候全部都关着)。首先来看一下

2012-10-13 11:25:36 9488 1

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

如何判断两个线段\矩形相交?首先来判断两个线段的情况:假设有两个线段A和B,左右端点分别为A1,A2和B1,B2,分别考虑下面两种情况1. 线段A在线段B的左边,即A1 A22. 线段A在线段B的右边,即A1> B1,那么 A,B不相交的条件是 B1 B2那么将上面两种情况综合起来考虑就是Min(A2,B2) - Max(A1,B1) =0,那么X就是相交的区域大小。

2012-10-13 10:20:37 6096

原创 求正整数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+1+1+1,那么最短的组合是4=4,到最后可能会将4=4这种情况排除掉,所以所有组合的长度一定为1,2,3

2012-10-12 17:29:31 8349

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

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

2012-10-12 11:51:44 13336 6

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

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

2012-10-12 10:25:41 5391

转载 负数的取模运算

我们知道,在不同的语言中,对负数执行取模运算,结果有可能会是不同的。例如,(-11)%5在python中计算的结果是4,而在C(C99)中计算的结果则是-1。  truncate除法 && floor除法  在大多数编程语言中,如果整数a不是整数b的整数倍数的话,那么a、b做除法产生的实际结果的小数部分将会被截除,这个过程称为截尾(truncation)。如果除法的结果是正数的话,那么一般

2012-10-10 16:31:25 5942

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

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

2012-10-08 09:41:00 4761

原创 实现指数函数Power

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

2012-10-03 20:06:19 5246

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

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

2012-10-03 17:09:21 14560 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 with another stack.// Cause stack is a structure f

2012-10-03 16:18:11 6508

原创 全排列算法

1. 考虑第一种情况即元素中没有重复的,本算法采用递归的方法很容易求出// Print the permutationvoid PrintPermutation(const vector & per){ static int count = 1; cout << count ++<<"\t: "; for(int i = 0; i < per.size(); ++i) { co

2012-10-02 21:08:40 5247

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

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

2012-10-02 17:10:34 5701

texture packer 3.09-破解版

texture packer 3.09-破解版

2015-09-09

Real-Time-Rendering

Thoroughly revised, this third edition focuses on modern techniques used to generate synthetic three-dimensional images in a fraction of a second. With the advent or programmable shaders, a wide variety of new algorithms have arisen and evolved over the past few years.

2015-08-17

重构-改善既有代码的设计(英文版)

《重构:改善既有代码的设计(英文版)》:软件开发的不朽经典、生动阐述重构原理和具体做法、普通程序员进阶到编程高手必须修炼的秘笈。

2014-03-13

deamon_tool_Lite4451-0236.zip

deamon_tool_Lite4451-0236.zip

2012-01-29

flashxp ftp工具

一款很好的ftp工具,绿色免安装,里面包含注册码

2011-12-24

斐波那契堆

优先队列是理论计算机科学中一个经典的话题。我们能看到,斐波那契堆提供了一个快速优秀的解决方法。寻找一个快速优先队列的应用最初是由两个网络优化算法引起的:最短路径和最小生成树(MST)

2011-12-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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