数据结构考研真题及其答案(2)
本站小编 免费考研网/2019-12-09
PROCEDURE perm ( a: ar; k, n: integer);
VAR x: datatype; i:integer;
BEGIN
(1)IF k=n
THEN BEGIN
(2)FOR i:=1 TO n DO
(3)write (a[i]);
writeln;
END
ELSE BEGIN
(4) FOR i:=k TO n DO
(5)a[i]:=a[i]+i*i;
(6) perm (a, k+1, n);
END;
END;
设k的初值等于1。
【北京邮电大学 1997二(10分)】
(1)n (2)n+1 (3)n (4)(n+4)(n-1)/2 (5)(n+2)(n-1)/2 (6)n-1
这是一个递归调用,因k的初值为1,由语句(6)知,每次调用k增1,故第(1)语句执行n次。(2)是FOR循环语句,在满足(1)的条件下执行,该语句进入循环体(3)n次,加上最后一次判断出界,故执行了n+1次。(4)也是循环语句,当k=1时判断n+1次(进入循环体(5)n次),k=2时判断n次,最后一次k=n-1时判断3次,故执行次数是(n+1)+n+…+3=(n+4)(n-1)/2次。语句(5)是(4)的循环体,每次比(4)少一次判断,故执行次数是n+(n-1)+…+2=(n+2)(n-1)/2次。注意分析时,不要把(2)分析成n次,更不是1次。
20. 分析下面程序段中循环语句的执行次数。
i:=0;s:=0;n:=100;
REPEAT
i:=i+1;
s:=s+10*i;
UNTIL NOT((i<n) AND (s<n));
【北京邮电大学 1998 四、1(5分)】
4 (这时i=4, s=100) REPEAT语句先执行循环体,后判断条件,直到条件为真时退出循环。
21.下列算法对一n位二进制数加1,假如无溢出,该算法的最坏时间复杂性是什么?并分析它的平均时间复杂性。
TYPE num=ARRAY [1..n] of [0..1];
PROCEDURE Inc (VAR a:num);
VAR i:integer;
BEGIN i:=n;
WHILE A[i]=1 DO
BEGIN A[i]:=0; i:=i-1;END;
END;
A[i]:=1;
END Inc;
【东南大学1998 三 (8分) 1994 二(15分)】
算法在最好情况下,即二进制数的最后一位为零时,只作一次判断,未执行循环体,赋值语句A[i]执行了一次;最坏情况出现在二进制数各位均为1(最高位为零,因题目假设无溢出),这时循环体执行了n-1次,时间复杂度是O(n),循环体平均执行n/2次,时间复杂度仍是O(n)。
22. 阅读下列算法,指出算法A的功能和时间复杂性
PROCEDURE A (h,g:pointer);
(h,g分别为单循环链表(single linked circular list)中两个结点指针)
PROCEDURE B(s,q:pointer);
VAR p:pointer;
BEGIN
p:=s;
WHILE p^.next<>q DO p:=p^.next;
p^.next:=s;
END;(of B)
BEGIN
B(h,g); B(g,h);
END;(of A)
【东南大学 1999 二(10分)】
该算法功能是将原单循环链表分解成两个单循环链表:其一包括结点h到结点g的前驱结点;另一个包括结点g到结点h的前驱结点。时间复杂度是O(n)。
23. 调用下列C函数f(n)或PASACAL函数f(n) 回答下列问题 :
(1) 试指出f(n)值的大小,并写出f(n) 值的推导过程;
(2) 假定n= 5,试指出f(5)值的大小和执行f(5)时的输出结果 。
C函数: int f(int n)
{ int i,j,k,sum= 0;
for(i=l; i<n+1;i++)
{for(j=n;j>i-1; j--)
for(k=1;k<j+1;k++ )
sum++;
printf("sum=%d\n",sum);
}
return (sum);
} 【华中理工大学 2000 六(10分)】
第一层FOR循环判断n+1次,往下执行n次,第二层FOR执行次数为(n+(n-1)+(n-2)+…+1),第三层循环体受第一层循环和第二层循环的控制,其执行次数如下表:
i= 1 2 3 … n
j=n n n n … n
j=n-1 n-1 n-1 n-1 …
… … … …
j=3 3 3
j=2 2 2
j=1 1
执行次数为(1+2+…+n)+(2+3+…+n)+…+n=n*n(n+1)/2-n(n2-1)/6。在n=5时,f(5)=55,执行过程中,输出结果为:sum=15,sum=29,sum=41,sum=50,sum=55(每个sum= 占一行,为节省篇幅,这里省去换行)。
24.设n是偶数,试计算运行下列程序段后m的值并给出该程序段的时间复杂度。
m:=0;
FOR i:=1 TO n DO
FOR j:=2*i TO n DO
m:=m+1;
【南京邮电大学 2000 一、1】
O(n2),m的值等于赋值语句m:=m+1的运行次数,其计算式为
25.有下列运行时间函数:
(1)T1 (n)=1000; (2)T2(n)=n2+1000n; (3)T3(n)=3n3+100n2+n+1;
分别写出相应的大O表示的运算时间。
(1)O(1) (2)O(n2) (3)O(n3)
【吉林工业大学 1999 二(12分)】
26. 试给出下面两个算法的运算时间。
(1) for i←1 to n do
x ← x+1
END
(2) for i← 1 to n do
for j←1 to n do
x← x+1
end
end
【中科院自动化研究所 1995 二、2 (6分)】
(1)O(n) (2)O(n2)
27. 斐波那契数列Fn定义如下
F0=0, Fl=1, Fn=Fn-1+Fn-2, n=2,3...
请就此斐波那契数列,回答下列问题。
(1) (7分) 在递归计算Fn的时候,需要对较小的Fn-1,Fn-2,…, Fl, F0精确计算多少次?
(2) (5分) 如果用大O表示法,试给出递归计算Fn时递归函数的时间复杂度录多少?
【清华大学 2000 二(12分)】
(1)由斐波那契数列的定义可得:
Fn=Fn-1+Fn-2
=2Fn-2+Fn-3
=3Fn-3+2Fn-4
=5Fn-4+3Fn-5
=8Fn-5+5Fn-6
……
=pF1+qF0
设Fm的执行次数为Bm(m=0、1、2、…、n-1),由以上等式可知,Fn-1被执行一次,即Bn-1=1;Fn-2被执行两次,即Bn-2=2;直至F1被执行p次、F0被执行q次,即B1=p,B0=q。Bm的执行次数为前两等式第一因式系数之和,即Bm=Bm-1+Bm-2,再有Bn-1=1和Bn-2=2,这也是一个斐波那契数列。可以解得:
Bm= [( )n-m+2-( )n-m+2] (m=0,1,2,…,n-1)
(2)时间复杂度为O(n)
28.将下列函数,按它们在n→∝时的无穷大阶数,从小到大排序。
n, n-n3+7n5, nlogn, 2n/2, n3, logn, n1/2+logn, (3/2)n, ,n!, n2+logn
【中科院计算所 1995 080385】
从小到大排列为:logn, n1/2+logn, n, nlogn, n2+logn,n3, n-n3+7n5, 2n/2, (3/2)n, n!,
相关话题/数据结构
计算机考研基础讲义数据结构基础共109页文档
数据结构在计算机科学中是一门综合性的专业基础课, 在考研中占很大的分值。 数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。 数据结构这一门课的内容不仅是一般程序设计(特别是非数值性程序设计)的基础,而且是设计和实现编译程序、操作系统、数据库系统及其他系统程序的重要基础。 ...专业课考研资料 本站小编 免费考研网 2019-12-09数据结构C++版王红梅版课后答案
第 1 章 绪 论 课后习题讲解 1. 填空 ⑴( )是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。 【解答】数据元素 ⑵( )是数据的最小单位,( )是讨论数据结构时涉及的最小数据单位。 【解答】数据项,数据元素 【分析】数据结构指的是数据元素以及数据元素之间的关系。 ⑶ 从逻 ...专业课考研资料 本站小编 免费考研网 2019-12-08中国地质大学(北京)858数据结构与C语言历年考研真题汇编
目录封面内容简介目录2005年中国地质大学(北京)412C语言程序设计考研真题2006年中国地质大学(北京)412C语言程序设计考研真题内容简介本书收录了中国地质大学(北京)412C语言程序设计2005~2006的考研真题。所有试题均没有提供答案。部分真题年份比较久远,仅 ...辅导考试考研资料 本站小编 Free考研 2019-10-032020年北京师范大学834数据结构与程序设计网授精讲班【教材精讲+考研真题串讲】
目录说明:本圣才课程免费下载,共包括3种电子书。使用圣才课程密码激活后,圣才课程里的所有视频、电子书(题库)及资料均可使用。【网授课程】1.严蔚敏《数据结构》(C语言版)网授精讲班第一章 绪论00:40:42第二章 线性表(1)01:15:39第二章 线性表(2)00:54:58第三章 栈与队列(1 ...辅导考试考研资料 本站小编 Free考研 2019-10-03北京师范大学834数据结构与程序设计历年考研真题汇编
目录封面内容简介目录第一部分 北京师范大学978数据结构历年考研真题汇编 2001年北京师范大学580数据结构考研真题 2002年北京师范大学580数据结构考研真题 2003年北京师范大学478数据结构考研真题 2004年北京师范大学478数据结构考研真题 2005年北京师范大学478数据结构考研真 ...辅导考试考研资料 本站小编 Free考研 2019-10-032020年西安电子科技大学951数据结构考研全套资料
目录说明:本全套资料免费下载,共包括5种电子书。使用全套资料密码激活后,全套资料里的所有电子书、所有题库均可使用。1.历年考研真题汇编[电子书]西安电子科技大学951数据结构历年考研真题汇编[免费下载]2.指定教材视频讲解【36小时高清视频】[电子书]严蔚敏《数据结构》(C语言版)【教材精讲+考研真 ...辅导考试考研资料 本站小编 Free考研 2019-10-03西安邮电大学826数据结构历年考研真题汇编
目录封面内容简介目录2013年西安邮电大学826数据结构考研真题2014年西安邮电大学826数据结构考研真题2015年西安邮电大学826数据结构考研真题2016年西安邮电大学826数据结构考研真题2017年西安邮电大学826数据结构考研真题内容简介本书收录了西安邮电大学826数据结构& ...辅导考试考研资料 本站小编 Free考研 2019-10-03西安电子科技大学951数据结构历年考研真题汇编
目录封面内容简介目录2017年西安电子科技大学951数据结构考研真题2018年西安电子科技大学951数据结构考研真题内容简介本书收录了西安电子科技大学951数据结构近些年的考研真题,所有试题均没有提供答案。使用说明 ...辅导考试考研资料 本站小编 Free考研 2019-10-03华中科技大学软件学院887数据结构与算法分析历年考研真题汇编
目录封面内容简介目录2006年华中科技大学软件学院451数据结构与算法分析考研真题及部分参考答案2007年华中科技大学软件学院427数据结构与算法分析考研真题及部分参考答案2011年华中科技大学软件学院数据结构与算法分析考研真题(回忆版)及部分参考答案2012年华中科技大学软件学院数据结构与算法分析 ...辅导考试考研资料 本站小编 Free考研 2019-10-032019年华南农业大学854数据结构与计算机组成原理考研大纲及参考书目
从华南农业大学研究生院获悉,2019年华南农业大学854数据结构与计算机组成原理考试大纲及参考书目公布,内容如下:参考书目/教材:一、严蔚敏、吴伟民编著:《数据结构( C 语言版)》,清华大学出版社 严蔚敏、吴伟民编著:《数据结构题集 (C 语言版) 》,清华大学出版社 二、唐朔飞编著:《计算机组成 ...专业目录 本站小编 免费考研网 2019-05-292019年湖北民族学院810数据结构考研初试大纲
湖北民族学院2019年硕士研究生入学考试自命题科目考试大纲 科目名称 数据结构 编号 ...专业课大纲 本站小编 免费考研网 2019-05-292019年北京工业大学896数据结构考研大纲
从北京工业大学研究生招生网获悉,2019年硕士研究生招生考试自命题科目考试大纲已公布,如下:点击查看:896数据结构 ...专业课大纲 本站小编 免费考研网 2019-05-292019年中国矿业大学(北京)854数据结构考研大纲
《数据结构》考试大纲专业代码:083500、085212 专业名称:软件工程、软件工程考试科目代码:854 考试科目名称:数据结构(一)考试内容试题重点考查的内容:一、数据结构基本知识1. 数据结构、基本概念和术语2. 算法和算法分析二、线性表1. 线性表的定义、存储表示和实现2. 线性表的应用三、 ...专业课大纲 本站小编 免费考研网 2019-05-292019年长春理工大学数据结构考研初试大纲
长春理工大学研究生入学考试《数据结构》考试大纲一、考试科目:数据结构二、适用专业:计算机科学技术学院所有专业三、参考书目:1.《数据结构》(C语言版)严蔚敏 吴伟民 编著,清华大学出版社, 2011.11。2.考试难度和形式可以参考计算机科学技术学院的《数据结构》课程考试:(http://cs.cu ...专业课大纲 本站小编 免费考研网 2019-05-292019年南京工业大学828数据结构与操作系统考研大纲
828《数据结构与操作系统》复习大纲一、考试的基本要求要求考生比较系统地理解数据结构的基本概念和基本知识,从数据结构的逻辑结构、存储结构和数据的操作三个方面掌握线性表、树、图等常用的数据结构。掌握在各种常用数据结构上实现高效的查找和排序算法,并对算法的时间和空间复杂性有一定的分析能力。针对简单的应用 ...专业课大纲 本站小编 免费考研网 2019-05-29