10 2012 档案

摘要:最简单的方法,开个O(n)的空间,扫描一遍,吧出现的数的记录下来。再扫描一下找出丢失的数字。时间复杂度O(n)如果不允许开空间:可以排序,然后遍历一遍找出未出现的数。采用基数排序O(d*n),当n<=100000是复杂度 O(7*n)解决O(n),不过破坏了原来的数组不破坏原来数组的方法:如果小于n个数补0 补成n个数。扫描数组,if(a[i]>0)a[a[i]]+=2*n;再扫描一遍 if(a[i]<=n) cout<<i<< " ";else a[i] -= 2*n;//恢复数组O(2*n),不破坏原数组 阅读全文
posted @ 2012-10-29 16:39 知识天地 阅读(427) 评论(0) 推荐(0)
摘要:在虚拟内存管理的实现中,最关键的就是页面的调入策略和页面的置换算法。 页面的调入策略主要有两种:预先调入策略和页面请求调入策略。由于前者需要对进程的运行过程进行一定量的预测,所以实现起来比较困难和低效,所以经常采用的是后一种策略,即当执行进程所需的某个页面不在内存时,产生缺页中断,再由专门的缺页中断服务程序(ISR)根据进程页表将所需页面调入内存。 当缺页中断服务程序发现,内存中已经没有空闲的物理页面(通常称之为帧)时,就会执行一种页面换出程序,它采取一定的置换算法将某个页面换出到外存的交换(文件)分区。通常,衡量一种页面置换算法性能好坏的指标就是对于大量的页面请求序列,在一定数量的物理帧.. 阅读全文
posted @ 2012-10-28 19:39 知识天地 阅读(1990) 评论(0) 推荐(0)
摘要:转摘自:http://blog.csdn.net/hustli/archive/2003/07/02/19358.aspx摘要:虚函数里面有一个很特殊的东东,那就是纯虚函数,关于纯虚函数的问题也是bbs上常见的话题,这里我想对此作一个小小的论述,希望能给初学者一个满意的解释。一、引入原因:1、为了方便使用多态特性,我们常常需要在基类中定义虚拟函数。2、在很多情况下,基类本身生成对象是不合情理的。例如,动物作为一个基类可以派生出老虎、孔雀等子类,但动物本身生成对象明显不合常理。为了解决上述问题,引入了纯虚函数的概念,将函数定义为纯虚函数(方法:virtual ReturnType Functio 阅读全文
posted @ 2012-10-22 14:51 知识天地 阅读(793) 评论(0) 推荐(0)
摘要:C++的四种cast操作符的区别发信站: 水木社区 (Thu Jan 26 21:15:16 2006), 站内声明 by NetMD:并非我的原创,来自互联网,且是两篇帖子的合集,个人觉得这样才比较完备----------------------------------------------------------------------Q:什么是C风格转换?什么是static_cast, dynamic_cast 以及 reinterpret_cast?区别是什么?为什么要注意?A:转换的含义是通过改变一个变量的类型为别的类型从而改变该变量的表示方式。为了类型转换一个简单对象为另一个对象 阅读全文
posted @ 2012-10-19 17:55 知识天地 阅读(320) 评论(0) 推荐(0)
摘要:1 dynamic_cast 与 static_cast 区别2 static,const,int &, int 初始化方式,初始化顺序3 虚函数调用原理,虚函数表多个对象共用一个。4 非虚函数,如何调用的5 拷贝构造函数与赋值构造函数的实现6 纯虚函数如何实现,抽象类能否被实例化,为什么不能实例化。virtual void print()=0; 不能实例化7、static在C和C++里各代表什么含义8、const在C/C++里什么意思9、static 跨文件访问全局变量,多文件访问;extern int i;10、继承:内存中有父类一个对象,每个类都有自己的虚函数表,每个对象有个指针 阅读全文
posted @ 2012-10-19 15:56 知识天地 阅读(394) 评论(0) 推荐(0)
摘要:给定n个任务,每个任务有一个开始时间和结束时间。系统同一时刻只能执行一个任务,如何安排才能让系统完成尽量多的任务。首先对任务按结束时间排序。然后用贪心算法,遍历每一个任务,如果还未超过当前任务的最晚开始时间,这执行此任务。 阅读全文
posted @ 2012-10-14 22:15 知识天地 阅读(442) 评论(0) 推荐(0)
摘要:给一个n*n的矩阵,矩阵每个元素的值为非负整数。现在要从左上角走到右下角,只能向右或向下走。找出两条路径, 使他们所经过的点的和最小。使用二维动态规划:状态转移方程:dp[x][y][i][j]表示第一条路径走到x,y点,第二条路径走到i,j点的最大值。O(n^4)dp[x][y][i][j]=max(dp[x-1][y][i-1][j], dp[x][y-1][i-1][j],dp[x-1][y][i][j-1], dp[x][y-1][i][j-1])+A[x][y] +a[i][j];(x==i,y==j需要特殊处理)优化:dp[x][y][z]表示第一条路径水平走x不,第二条路径水平走 阅读全文
posted @ 2012-10-14 22:10 知识天地 阅读(321) 评论(0) 推荐(0)
摘要:给定N个点,任意两个点之间都联通,找出两条路径(涵盖所有点),使他们的和最小首先把点从左往右编号0-n-1那么原题相当于找两条从左往右的不想交的路线 dp[i]表示两条路走到了i和i-1最少的花费是多少 答案是dp[n-1]+cost[n-2][n-1] dp[1]=cost[0][1] dp[i]=min(dp[i-1]+cost[i-2][i], dp[i-2]+cost[i-2][i-1]+cost[i-3][i], dp[i-2]+cost[i-3][i-1]+cost[i-2][i]) 阅读全文
posted @ 2012-10-14 21:55 知识天地 阅读(348) 评论(0) 推荐(0)
摘要:细节是否真的打败爱情,十年后你还会爱我吗?2012年10月09日 09:52:04陪同朋友去买衣服。她进更衣室试穿的时候,我坐在玻璃窗前的沙发上等。更衣室的另一扇门走出一个中年女子,她走出来对着落地镜子照照,迟疑的转转身,又拉拉衣角,表情犹豫着,走到店口打开一扇门叫到:"你看我穿这件好看么?"我回头透过玻璃窗外看到门口原来还站着她的丈夫。那个男人不耐烦的挥挥手嚷到:"我不管。你爱买哪件买哪件!"然后又把头掉过去看着车水马龙的大街。女人讪讪的退回来,自己又去照了照镜子。试衣服的朋友也出来了,容光焕发的照着镜子,问我好看不好看。我注意到女人的视线从朋友身上转 阅读全文
posted @ 2012-10-13 20:48 知识天地 阅读(380) 评论(0) 推荐(0)
摘要:http://hi.baidu.com/fly_fireocean/item/0711568aa52f1acf99255ffc邻接链表(Adjacency List)是图的一种链式存储结构,与树型结构中的孩子链表相似。通常邻接链表也称邻接表。1. 邻接表的结点结构边结点结构 邻接表中每个表结点均有两个域: ① 邻接点域adjvex 存放与vi相邻接的顶点vj的序号j。 ② 链域next 将邻接表的所有表结点链在一起。注意: 如果带权图,则在表结点中还应增加一个保存权值等相关信息info。2.邻接表的表示 对于无向图,vi的邻接表中每个表结点都对应于与vi相关联的一条边。因此,将邻接表... 阅读全文
posted @ 2012-10-13 20:47 知识天地 阅读(4223) 评论(0) 推荐(0)
摘要:要求编写一个容器,它可支持两种操作:push()和pop(),push(K)操作可将元素K放入容器,pop()操作可将容器中的中位值弹出。例如:push(1),push(2),push(3)后pop()[输出为2]。解决方法,创建一个最大值优先的优先队列,将其记为左队列ql,创建一个最小值优先的优先队列,将其记为右队列qr,我们规定ql不为空时,ql.top()为中位值,记为mid,对于push(k),如果k>mid,则将k压入右边优先队列qr,如果k<=mid怎将其压入左边优先队列ql,然后将左右两个队列做平衡处理。pop()则只需将ql.top()的值弹出后做平衡处理即可。这种 阅读全文
posted @ 2012-10-09 12:32 知识天地 阅读(399) 评论(0) 推荐(0)
摘要:1.白色车,安全系数最高。澳大利亚研究者新近发布调查报告,黑色汽车在白天与黑夜的事故率均高居榜首。在白天,黑色汽车比白色汽车事故率高12%,在黎明前和黄昏后则高47%。特别是傍晚的时候,远处跑来一辆黑色轿车,总感觉像穿了隐形衣,我还是比较喜欢白色车,总是很显眼。在民间还有一种说法,白色汽车油耗低,原因是车身反射能量,节约空调油耗,不过这个说法未得到权威证实。当时,我买白色捷达,除了安全因素考虑外,还有一个原因:白色车便宜。2.安全带,必须扎,无论前排还是后排。福建有个青年,带着父母、老婆孩子外出旅行,在高速公路上发生了追尾,四死一伤,五人均未系安全带,司机平时安全意识就不高,还使用了安全带卡扣 阅读全文
posted @ 2012-10-08 16:11 知识天地 阅读(1771) 评论(0) 推荐(1)
摘要:原文地址:http://www.cnblogs.com/codingmylife/archive/2012/10/04/2711839.html 主要包括全排列和回溯两类,其中全排列可以递归与非递归,回溯也可以递归与非递归。于是加一起有4种解法。#include <iostream>#include <algorithm>using namespace std;template <size_t N> struct ArraySizeHelper {char _[N];};template <typename T, size_t N> ArrayS 阅读全文
posted @ 2012-10-08 11:06 知识天地 阅读(529) 评论(0) 推荐(0)
摘要:9月27日于清华,笔试题目如下,我想说题目真心不错,可是自己确实太sb,做得实在是太烂,于是只好把题目放到网上,求答案大题:1)找一个数组中前k小的数。2)使用非递归求解8皇后问题,列出所有的解。3)作业调度问题 阅读全文
posted @ 2012-10-08 10:49 知识天地 阅读(425) 评论(0) 推荐(0)
摘要:1.引子 中国有一句古话,叫做“不撞南墙不回头",生动的说明了一个人的固执,有点贬义,但是在软件编程中,这种思路确是一种解决问题最简单的算法,它通过一种类似于蛮干的思路,一步一步地往前走,每走一步都更靠近目标结果一些,直到遇到障碍物,我们才考虑往回走。然后再继续尝试向前。通过这样的波浪式前进方法,最终达到目的地。当然整个过程需要很多往返,这样的前进方式,效率比较低下。2.适用范围 适用于那些不存在简明的数学模型以阐明问题的本质,或者存在数学模型,但是难于实现的问题。3.应用场景 在8*8国际象棋棋盘上,要求在每一行放置一个皇后,且能做到在竖方向,斜方向都没有冲突。国际象棋的棋盘如下图 阅读全文
posted @ 2012-10-01 09:37 知识天地 阅读(320) 评论(0) 推荐(0)