摘要:1. 给定整型数组B[m][n],B中数据在每一维方向都按从小到大的次序排列,而且整型变量x在B中存在,找出一对满足B[i][j]==x的i和j,要求比较次数不超过m+n 分析:从右上角的元素B[i][j]开始与x比较,每次有3种情况:(1)相等,则比较结束;(2)B[i][j]x,则这一列不包含x,搜索下一列;这样,每次至少使搜索范围减少一行或一列,最多经过m+n次就可以找到x. void ...
阅读全文
摘要:1, 若入栈的元素为n,则可得到的输出序列数量为 (2n)!/(n+1)(n!)(n!)。 2, 用两个长度相同的栈S1,S2构造一个队列。在S1中进行入队操作,S2中进行出队操作 ,判断队列空的条件是,S1和S2同时为空,判断队列满的条件是S1和S2同时为满。 void EnQueue(ElemType x){ if(!Full(S1)) {//S1未满直接进入 ...
阅读全文
摘要:1. 数据的物理存储方式有4种:1)顺序存储。2)链式存储。3)索引存储。4)散列存储 2. 判断算法时间复杂度的根据是当n趋向无穷大时函数的极限,确定时间复杂度的步骤是:1)计算算法的语句频度。2)由语句频度给出时间复杂度。例: void f(int n){ int i = 91,j=100; while(j>0) { if...
阅读全文
摘要:14.从"互斥","空闲让进","有限等待"3个方面讨论它的正确性.若正确,则证明之.若不正确,说明理由。 program sample; var c1,c2:integer; procedure p1 begin repeat other section 1; repeat c1 = 1-...
阅读全文
摘要:10.司机和售票员之间要协同工作:一方面只有售票员把车门关好了司机才能开车,因此售票员关好车门应通知司机开车;另一方面只有当汽车已经停下时,售票员才能开门让乘客上下客,司机停车后应该通知售票员,假定某辆汽车有一名司机和两名售票员,汽车当前正在始法站停车上客,分析: 活动规律: 司机 售票员(2名) 启动车辆 上乘...
阅读全文
摘要:6.假设缓冲区buf1和缓冲区buf2无限大,进程p1向buf1写数据,进程p2向buf2写数据,要求buf1数据个数和buf2数据个数的差保持在(m,n)之间(m<n,m,n都是正数).分析:题中没有给出两个进程执行顺序之间的制约关系,只给出了一个数量上的制约关系,即m<=|buf1数据个数-buf2数据个数|<=n.不需要考虑缓冲区的大小,只需要考虑两个进程的同步和互斥.p2向buf2写数据比...
阅读全文
摘要:1.问答题:有一个文件F,有A,B两组进程共享这个文件,同组的进程可以同时读文件F,但当有A组(或B组)的进程在读文件F时就不允许B组(或A组)的进程读,解:定义两个计数器C1,C2,分别记录A组和B组中读文件的进程数,三个信号量S1,S2,SAB,其中S1用于通知A组进程已经有B组进程在读文件F了,S2用于通知B进程已经有A进程在读文件F了,SAB用于实现对共享变量C1和C2以及临界区的互斥访问...
阅读全文
摘要:1.整型信号量是一个整数变量,除初始化外,对其只能执行两个操作,即wait(s)和signal(s),也叫p(s)和v(s)操作,均是原语操作,用来实现进程的同步,互斥. 2.记录型信号量 type semaphore = record value:integer L: list of process; end procedu...
阅读全文
摘要:《The Economist》翻译系列第二篇,自认为翻译的还行,下篇继续提高吧。。。
阅读全文
摘要:这是《经济学人》杂志我翻译的第一篇,这份杂志对考研的重要性那是不言自明的,希望坚持翻译下去。。。
阅读全文
摘要: 最长递增子序列问题是一个很基本、较常见的小问题,但这个问题的求解方法却并不那么显而易见,需要较深入的思考和较好的算法素养才能得出良好的算法。由于这个问题能运用学过的基本的算法分析和设计的方法与思想,能够锻炼设计较复杂算法的思维,我对这个问题进行了较深入的分析思考,得出了几种复杂度不同算法,并给出了分析和证明。
阅读全文
摘要:排版题.输出三角形的字符 Problem 用英文大写字母排列出一个三角形 Input 一个整数N (0char ch='A';int n;void pr...
阅读全文
摘要:全排序问题 Problem 将一个字符组全排序 Input 一个长度小于10的字符串,该字符串由数字1~9组成。字符不会重复出现。 ...
阅读全文
摘要:排版题.输出排列成菱形的字母 Problem 输入N值,编程输出如下图形。 Input 一个整数N(1char c='Z';int n;void pri...
阅读全文