摘要: 1、有一个虚拟存储系统,若进程在内存中占3页(开始时内存为空),若采用先进先出(FIFO)页面淘汰算法,当执行如下访问页号序列后1,2,3,4,5,1,2,5,1,2,3,4,5,会发生多少缺页?A、7 B、8 C、9 D、102、设有一个顺序栈S,元素s1、s2、s3、s4、s5、s6依次进栈,如果6个元素的出栈顺序为s2、s3、s4、s6、s5、s1,则顺序栈的容量至少应为多少?A、2 B、3 C、4 D、53、下列关于文件索引结构的叙述中,哪一个是错误的?A、采用索引结构,逻辑上连续的文件存放在连续的物理块中B、系统为每个文件建立一张索引表C、索引结构的优点是访问速度快,文件长度可以动. 阅读全文
posted @ 2013-05-04 10:29 karlthas 阅读(720) 评论(0) 推荐(1) 编辑
摘要: 简而言之,一个程序至少有一个进程,一个进程至少有一个线程.线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。进程是具有一定独立功能的程序关于某个 阅读全文
posted @ 2013-05-04 10:20 karlthas 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 1intBinSearch(intArray[],intSizeOfArray,intkey/*要找的值*/)2{3intlow=0,high=SizeOfArray-1;4intmid;5while(low<=high)6{7mid=(low+high)/2;8if(key==Array[mid])9returnmid;10if(key<Array[mid])11high=mid-1;12if(key>Array[mid])13low=mid+1;14}15return-1;16}1intBinSearch(intArray[],intlow,inthigh,intkey/ 阅读全文
posted @ 2013-05-03 23:38 karlthas 阅读(1547) 评论(0) 推荐(0) 编辑
摘要: 1、OSI(Open System Interconnect):开放系统互联,是一个七层的计算机网络模型,分别为:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。TCP/IP(Transmission Control Protocol/Internet Protocol):传输控制协议/因特网互联协议,是一个四层的计算机网络模型,分别为:网络接口层、网络层、传输层和应用层。结合OSI和TCP/IP产生了一个五层结构,分别为:物理层、数据链路层、网络层、传输层和应用层。Internet就是采用的TCP/IP协议。2、集线器工作在OSI模型的物理层,网卡工作在OSI模型的物理层,交换机 阅读全文
posted @ 2013-05-02 16:07 karlthas 阅读(343) 评论(0) 推荐(0) 编辑
摘要: OTTOTT 是“Over The Top”的缩写,是通信行业非常流行的一个词汇,这个词汇来源于篮球等体育运动,是“过顶传球”之意,指的是球类运动员(player)在他们头之上来回传送而达到目的地。即互联网公司越过运营商,发展基于开放互联网的各种视频及数据服务业务,强调服务与物理网络的无关性。互联网企业利用运营商的宽带网络发展自己的业务,如国外的谷歌、苹果、Skype、Netflix,国内的Skype和QQ。Netflix网络视频以及各种移动应用商店里的应用都是OTT。不少OTT服务商直接面向用户提供服务和计费,使运营商沦为单纯的“传输管道”,根本无法触及管道中传输的巨大价值。应用应用商店是典 阅读全文
posted @ 2013-05-01 23:59 karlthas 阅读(1059) 评论(0) 推荐(0) 编辑
摘要: C++中用二维数组传参时形参该怎样写 [转]二维数组的存储方式是和一维数组没什么区别,但是用二维数组做参数,它的形参该怎样写?要注意的是:函数中的形参其实就相当于一个声明,并不产生内存分配,形参的目的就是要让编译器知道函数参数的数据类型。正确的是:void Func(int array[3][10]);void Func(int array[][10]); 可以省略第一维的大小,错误的是:void Func(int array[][]).这样的用法只能在初始化时可以用;这样写也是错误:void Func(const int m,const int n,int array[m][n]);或voi 阅读全文
posted @ 2013-04-30 20:51 karlthas 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 给出两个单向链表的头指针,判断这两个链表是否相交,如果相交给出相交的第一个结点一、两个链表均不含有环方法一:直接法 直接判断第一个链表的每个结点是否在第二个链表中,时间复杂度为O(len1*len2),耗时很大方法二:利用计数如 果 两个链表相交,则两个链表就会有共同的结点;而结点地址又是结点唯一标识。因而判断两个链表中是否存在地址一致的节点,就可以知道是否相交了。可以对第一 个链表的节点地址进行hash排序,建立hash表,然后针对第二个链表的每个节点的地址查询hash表,如果它在hash表中出现,则说明两个链表有共 同的结点。这个方法的时间复杂度为:O(max(len1+len2);但同时 阅读全文
posted @ 2013-04-27 22:58 karlthas 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 打算先把手头上的资源先消化得差不多了再看新的东西吧,编程之美、编程珠玑、程序员面试100题、刀疤鸭数据结构面试题、大话数据结构、数据结构与算法分析(C++描述),JAVA核心技术卷I,C++ Primer(着重看类相关的和STL相关的,不知道时间够不够),一边学习一边进步吧,多练习coding,无论是在电脑上还是手写,都要熟悉,前几天刚复习的排序算法又忘了,和同学聊起来shell排序都忘了,基本思想倒是挺清楚= =,代码估计写的话估计磕磕绊绊吧,SDN先放一边了,但还是感觉丫是一台重轴戏,得好好得看看,虽然概念比较虚,而且呆在移动这边的确没有什么实质性的接触,论文要想出彩的确还是得花点功夫,总 阅读全文
posted @ 2013-04-27 15:27 karlthas 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 题目:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case 等关键字以及条件判断语句(A?B:C)不能使用的东西囊括了基本的编程工具,先来看看能使用的方法有哪些,加减法、位移(左右移操作),1+2+。。。+n的计算公式为n*(n+1)/2n-1能得到,除以2能够用位移操作来完成,将公式拆分为n^2 + n 和除以2两部分,是不是可以用个乘方函数取巧一下?(偷笑)初步想法代码如下:1#include<iostream>2#include<math.h>34usingnamespacestd;56intcompute(intn)7 阅读全文
posted @ 2013-04-26 18:00 karlthas 阅读(340) 评论(1) 推荐(0) 编辑
摘要: 比较老的一道题了,练练手,面向过程的coding1#include<iostream>23usingnamespacestd;4intmain()5{6stringstr="iamastudent.";7inti=0,j=str.length()-1;8chartemp;9while(i<j)10{11temp=str[i];12str[i]=str[j];13str[j]=temp;14i++;15j--;16}17i=0;j=0;18inttemp1,temp2;19while(j<str.length())20{21if(str[j]!= 阅读全文
posted @ 2013-04-26 16:54 karlthas 阅读(152) 评论(0) 推荐(0) 编辑