福州大学863数据结构与程序设计考研真题试题2015年
- 格式:pdf
- 大小:2.33 MB
- 文档页数:7
2015年全国硕士研究生入学统一考试计算机学科专业基础综合试题一、单项选择题:140小题,每小题2分,共80分。
下列每题给出的四个选项中,只有一个选项符合题目要求。
请在答题卡上将所选项的字母涂黑。
1.已知程序如下:int s(int n){ return (n<=0) ? 0 : s(n-1) +n; }void main(){ cout<< s(1); }程序运行时使用栈来保存调用过程的信息,自栈底到栈顶保存的信息一次对应的是A.main()->S(1)->S(0) B.S(0)->S(1)->main()C.m ain()->S(0)->S(1) D.S(1)->S(0)->main()2.先序序列为a,b,c,d的不同二叉树的个数是A.13 B.14 C.15 D.163.下列选项给出的是从根分别到达两个叶节点路径上的权值序列,能属于同一棵哈夫曼树的是A.24,10,5和24,10,7 B.24,10,5和24,12,7C.24,10,10和24,14,11 D.24,10,5和24,14,64.现在有一颗无重复关键字的平衡二叉树(A VL树),对其进行中序遍历可得到一个降序序列。
下列关于该平衡二叉树的叙述中,正确的是A.根节点的度一定为2 B.树中最小元素一定是叶节点C.最后插入的元素一定是叶节点D.树中最大元素一定是无左子树5.设有向图G=(V,E),顶点集V={V0,V1,V2,V3},边集E={<v0,v1>,<v0,v2>,<v0,v3>,<v1,v3>},若从顶点V0 开始对图进行深度优先遍历,则可能得到的不同遍历序列个数是A.2 B.3 C.4 D.56.求下面带权图的最小(代价)生成树时,可能是克鲁斯卡(kruskal)算法第二次选中但不是普里姆(Prim)算法(从V4开始)第2次选中的边是A.(V1,V3) B.(V1,V4) C.(V2,V3) D.(V3,V4)7.下列选项中,不能构成折半查找中关键字比较序列的是A.500,200,450,180 B.500,450,200,180C.180,500,200,450 D.180,200,500,4508.已知字符串S为“abaabaabacacaabaabcc”. 模式串t为“abaabc”, 采用KMP算法进行匹配,第一次出现“失配”(s[i] != t[i]) 时,i=j=5,则下次开始匹配时,i和j的值分别是A.i=1,j=0 B.i=5,j=0 C.i=5,j=2 D.i=6,j=29.下列排序算法中元素的移动次数和关键字的初始排列次序无关的是A.直接插入排序B.起泡排序C.基数排序D.快速排序10.已知小根堆为8,15,10,21,34,16,12,删除关键字8之后需重建堆,在此过程中,关键字之间的比较数是A.1 B.2 C.3 D.411.希尔排序的组内排序采用的是()A.直接插入排序B.折半插入排序 C.快速排序D.归并排序12.计算机硬件能够直接执行的是()Ⅰ.机器语言程序Ⅱ.汇编语言程序Ⅲ.硬件描述语言程序A.仅ⅠB.仅ⅠⅡC.仅ⅠⅢD.ⅠⅡⅢ13.由3个“1”和5个“0”组成的8位二进制补码,能表示的最小整数是()A.-126 B.-125 C.-32 D.-314.下列有关浮点数加减运算的叙述中,正确的是()Ⅰ. 对阶操作不会引起阶码上溢或下溢Ⅱ. 右规和尾数舍入都可能引起阶码上溢Ⅲ. 左规时可能引起阶码下溢Ⅳ. 尾数溢出时结果不一定溢出A.仅ⅡⅢB.仅ⅠⅡⅣC.仅ⅠⅢⅣD.ⅠⅡⅢⅣ15.假定主存地址为32位,按字节编址,主存和Cache之间采用直接映射方式,主存块大小为4个字,每字32位,采用回写(Write Back)方式,则能存放4K字数据的Cache 的总容量的位数至少是()A.146k B.147K C.148K D.158K16.假定编译器将赋值语句“x=x+3;”转换为指令”add xaddt, 3”,其中xaddt是x 对应的存储单元地址,若执行该指令的计算机采用页式虚拟存储管理方式,并配有相应的TLB,且Cache使用直写(Write Through)方式,则完成该指令功能需要访问主存的次数至少是()A.0 B.1 C.2 D.317.下列存储器中,在工作期间需要周期性刷新的是()A.SRAM B.SDRAM C.ROM D.FLASH18.某计算机使用4体交叉存储器,假定在存储器总线上出现的主存地址(十进制)序列为8005,8006,8007,8008,8001,8002,8003,8004,8000,则可能发生发生缓存冲突的地址对是()A.8004、8008 B.8002、8007 C.8001、8008 D.8000、800419.下列有关总线定时的叙述中,错误的是()A.异步通信方式中,全互锁协议最慢B.异步通信方式中,非互锁协议的可靠性最差C.同步通信方式中,同步时钟信号可由多设备提供D.半同步通信方式中,握手信号的采样由同步时钟控制20.若磁盘转速为7200转/分,平均寻道时间为8ms,每个磁道包含1000个扇区,则访问一个扇区的平均存取时间大约是( )A.8.1ms B.12.2ms C.16.3ms D.20.5ms21.在采用中断I/O方式控制打印输出的情况下,CPU和打印控制接口中的I/O端口之间交换的信息不可能是( )A.打印字符B.主存地址C.设备状态D.控制命令22.内部异常(内中断)可分为故障(fault)、陷阱(trap)和终止(abort)三类。
WORD 格式2015 年全国硕士研究生入学统一考试计算机学科专业基础综合试题、单项选择题: 140 小题,每小题 2分,共 80 分。
下列每题给出的四个选项中,只 有一个选项符合题目要求。
请在答题卡上将所选项的字母涂黑。
1.已知程序如下:ints(intn){ return(n<=0)?0:s(n-1)+n; }voidmain(){ cout<<s(1); } 程序运行时使用栈来保存调用过程的信息,自栈底到栈顶保存的信息一次对应的是 A .main()->S(1)->S(0) B . S(0)->S(1)->main()C .main()->S(0)->S(1)D . S(1)->S(0)->main()2.先序序列为 a,b,c,d 的不同二叉树的个数是A .13B .14C .15D . 163.下列选项给出的是从根分别到达两个叶节点路径上的权值序列,能属于同一棵哈夫 曼树的是 A .24,10,5和 24,10,7C .24,10,10和 24,14,11 4.现在有一颗无重复关键字的平衡二 叉树 序序列。
下列关于该平衡二叉树的叙述中,正确的是B .24,10,5和 24,12,7 D .24,10,5和 24,14,6(AVL 树) , 对其进行中序遍历可得到一个降C.最后插入的元素一定是叶节点D.树中最大元素一定是无左子树5.设有向图G=(V,E) ,顶点集V={V0,V1,V2,V3} ,边集E={<v0,v1>,<v0,v2>,<v0,v3> ,<v1,v3>},若从顶点V0 开始对图进行深度优先遍历,则可能得到的不同遍历序列个数是A.2 B.3 C.4 D. 56.求下面带权图的最小(代价)生成树时,可能是克鲁斯卡( kruskal )算法第二次选中但不是普里姆( Prim )算法(从V 4 开始)第 2 次选中的边是A.(V1,V3) B.(V1,V4) C.(V2,V3) D.(V3,V4)专业资料整理WORD格式7.下列选项中,不能构成折半查找中关键字比较序列的是A.500,200,450,180 B.500,450,200,180C.180,500,200,450 D.180,200,500,4508.已知字符串S 为“ abaabaabacacaabaabcc 模式”串.t 为“ abaabc ”采用,KMP算法进行匹配,第一次出现“失配” (s[i]!=t[i])时,i=j=5, 则下次开始匹配时,i 和j 的值分别是A.i=1 ,j=0 B.i=5 ,j=0 C.i=5 ,j=2 D.i=6 ,j=2A.直接插入排序B.起泡排序C.基数排序D.快速排序10.已知小根堆为8,15,10,21,34,16,12,删除关键字8 之后需重建堆,在此过9.下列排序算法中元素的移动次数和关键字的初始排列次序无关的是A.1 B. 2 C. 3 D.4程中,关键字之间的比较数是11.希尔排序的组内排序采用的是()14.下列有关浮点数加减运算的叙述中,正确的是()Ⅰ. 对阶操作不会引起阶码上溢或下溢Ⅱ. 右规和尾数舍入都可能引起阶码上溢Ⅲ. 左规时可能引起阶码下溢Ⅳ. 尾数溢出时结果不一定溢出A .仅Ⅱ ⅢB .仅ⅠⅡⅣC .仅ⅠⅢ ⅣD .ⅠⅡ ⅢⅣ专业资料整理WORD 格式 15. 为 假定主存地址 32 位,按字节编址,主存 和 Cache 之间采用直接映射方式,主存 块大小 4 个字,每 32 位,采用回写 WriteBack )方式,则能存 4K 字数据 Cache 为 字 ( 放 的 的总容量的位数至少是()A . 146kB .147KC . 148KD .158K16.假定编译器将赋值语 “ x=x+3; 转”换为指令” addxaddt,3 ,其”xadd 是 x 对应的句 中t 存储单元地址,若执行该指令的计算机采用页式虚拟存储管理方式,并配有相A .直接插入排序 B .折半插入排 序 12.计算机硬件能够直接执行的是()Ⅰ.机器语言程 序A .仅Ⅰ Ⅱ.汇编语言程 C .快速排序 D .归并排序Ⅲ.硬件描述语言程序 C .仅Ⅰ Ⅲ D .ⅠⅡ Ⅲ13. 由3 个“1”和 5 个“ 0”组成的8 位二进制补码,能表示的最小整数是() A . -126 B .-125 C .-32 D .-3应的TLB,且Cache 使用直写( WriteThrough )方式,则完成该指令功能需要访问主存的次数至少() 是A.0 B. 1 C. 2 D.317.下列存储器中,在工作期间需要周期性刷新的是()A.SRAM B.SDRAM C.ROM D.FLASH18.某计算机使用 4 体交叉存储器,假定在存储器总线上出现的主存地址(十进制)序列为8005,8006,8007,8008,8001,8002,8003,8004,8000,则可能发生发生缓存冲突的地址对是()A.8004 、8008B.8002、8007C.8001 、8008D.8000、800419.下列有关总线定时的叙述中,错误的是()A .异步通信方式中,全互锁协议最慢B.异步通信方式中,非互锁协议的可靠性最差C.同步通信方式中,同步时钟信号可由多设备提供D.半同步通信方式中,握手信号的采样由同步时钟控制20.若磁盘转速为7200 转/ 分,平均寻道时间为8ms,每个磁道包含1000 个扇区,则访问一个扇区的平均存取时间大约是()A.8.1ms B.12.2ms C.16.3ms D.20.5ms21.在采用中断I/O 方式控制打印输出的情况下,CPU和打印控制接口中的I/O 端口之间交换的信息不可能是()A.打印字符B.主存地址C.设备状态D.控制命令22.内部异常(内中断)可分为故障(fault) 、陷阱(trap) 和终止(abort) 三类。
1、数据结构研究的内容是( D )。
A)数据的逻辑结构 B)数据的存储结构C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面2、倘若在对串的插入、删除运算中,期望运算速度最快,则应采用( C )。
A)顺序表示法 B)单字符为结点的单链表表示法C)等量分块表示法 D)不等量分块表示法3、( C )在进行插入操作时,常产生假溢出现象。
A)顺序栈 B)循环队列C)顺序队列 D)链队列4、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( B )。
A)3 B)4 C)5 D)15、设一数列的顺序为1,2,3,4,5,6,通过栈结构不可能排成的顺序数列为( B )。
A)3,2,5,6,4,1 B)1,5,4,6,2,3C)2,4,3,5,1,6 D)4,5,3,6,2,16、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是( B )。
A)9 B)11 C)15 D)不能确定7、设一数列的顺序为1,2,3,4,5,6,通过栈结构不可能排成的顺序数列为( B )。
A)3,2,5,6,4,1 B)1,5,4,6,2,3C)2,4,3,5,1,6 D)4,5,3,6,2,18、用一维数组A进行顺序存储时,若起始地址为loc(A1),元素长度为c,则A的第i个数组单元在存放地址loc(Ai),等于( B )。
A)loc(A1)+i*c B)loc(A1)+(i-1)*cC)loc(A1)+i*c+1 D)loc(A1)+(i+1)*c9、广义表head(((a,b),(c,d)))的运算结果为( A )。
A)(a,b) B)(c,d)C)空表 D)((a,b),(c,d))10、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一C)不含回路 D)有n条边11、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( B )。
A)3 B)4 C)5 D)112、广义表A=(A,B,(C,D),(E,(F,G))),则head(tail(head(tail(tail(A)))))=( D )。
目前刚整理了2009-2015的试题过几天2016的也会上传上去希望对你有帮助。
答案与试题是配套的选择题没有解析有不懂得可以在文库上@我2009 1-5:BCDBC 6-10:BADBA41.该方法求得的路径不一定是最短路径。
例如,对于下图所示的带权图,如果按照题中的原则,从A到C的最短路径为A→B→C,事实上其最短路径为 A→D→C。
42.(1)算法的基本设计思想:定义两个指针变量p和q,初始时均指向头结点的下一个结点。
P指针沿链表移动;当p指针移动到第k个结点时,q指针开始与p指针同步移动;当p指针移动到链表最后一个结点时,q指针所指元素为倒数第k个结点。
以上过程对链表仅进行一遍扫描。
(2)算法的详细实现步骤:①count=0,p和q指向链表表头结点的下一个结点;②若p为空,转⑤;③若count等于k,则q指向下一个结点;否则,count=count+1;④p指向下一个结点,转步骤②;⑤若count等于k,则查找成功,输出该结点的data域的值,返回1;返回;查找失败,返回0;⑥算法结束。
(3)算法实现:typedef struct LNode{int data;struct LNode * link;} * LinkList;int SearchN(LinkList list,int k){LinkList p,q;int count=0; /*计数器赋初值*/p=q=list->link; /*p和q指向链表表头结点的下一个结点*/while(p!=NULL){if(count<k) count++; /*计数器+1*/else q=q->link;/*q移到下一个结点*/p=p->link; /*p移到下一个结点*/}if(count<k)return(0);/*如果链表的长度小于k,查找失败*/else { printf("%d",q->data); /*查找成功*/return (1);}//else}//SearchN2010 1-5:DCDCB 6-11:ACBBDA查找不成功的平均查找长度:ASL不成功=18/7。
2015年考研必备资料2015年考研计算机数据结构试题及答案目录2015年考研计算机数据结构试题及答案(1) (2)2015年考研计算机数据结构试题(1) (2)2015年考研计算机数据结构试题答案(1) (5)2015年考研计算机数据结构试题及答案(2) (6)2015年考研计算机数据结构试题(2) (6)2015年考研计算机数据结构试题答案(2) (9)2015年考研计算机数据结构试题及答案(3) (11)2015年考研计算机数据结构试题(3) (11)2015年考研计算机数据结构试题答案(3) (13)2015年考研计算机数据结构试题及答案(4) (15)2015年考研计算机数据结构试题(4) (15)2015年考研计算机数据结构试题答案(4) (17)2015年考研计算机数据结构试题及答案(5) (19)2015年考研计算机数据结构试题(5) (19)2015年考研计算机数据结构试题答案(5) (21)2015年考研计算机数据结构试题及答案(1)2015年考研计算机数据结构试题(1)一、选择题(24分)1.下列程序段的时间复杂度为( )。
i=0,s=0; while (s(A) O(n1/2) (B) O(n1/3) (C) O(n) (D) O(n2)2.设某链表中最常用的操作是在链表的尾部插入或删除元素,则选用下列( )存储方式最节省运算时间。
(A) 单向链表 (B) 单向循环链表(C) 双向链表 (D) 双向循环链表3.设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,指针s指向被插入的结点X,则在结点A和结点B插入结点X的操作序列为( )。
(A) s->next=p->next;p->next=-s; (B) q->next=s; s->next=p;(C) p->next=s->next;s->next=p; (D) p->next=s;s->next=q;4.设输入序列为1、2、3、4、5、6,则通过栈的作用后可以得到的输出序列为( )。
一、选择题(10*2%=20%)1.代码段for (j=1; j<=n;j++) 的时间复杂性是B。
for (k=n; k>=1; k/=2)count++;A、O(n2)B、O(nlogn)C、O(logn)D、O(n)2.对某个无向图的邻接矩阵来说,下列叙述正确的是 A 。
A、第i行上的非零元素个数和第i列上的非零元素个数一定相等B、矩阵中的非零元素个数等于图中的边数C、第i行与第i列上的非零元素的总数等于顶点vi的度数D、矩阵中非全零行的行数等于图中的顶点数3.循环双链表中在p所指结点之后插入结点s的操作是D。
A、p->next=s; s->prior=p; p->next->prior=s; s->next=p->nextB、p->next=s; p->next->prior=s; s->prior=p; s->next=p->nextC、s->prior=p; s->next=p->next; p->next=s; p->next->prior=sD、s->prior=p; s->next=p->next; p->next->prior=s; p->next=s4.4个元素a1,a2,a3和a4依次通过一个栈,在a4进栈前,栈的状态如图,,不可能的出栈顺序是C。
A、a4,a3,a2,a1B、a3,a2,a4,a1C、a3,a1,a4,a2D、a3,a4,a2,a15.下列四种排序方法中,不稳定的方法是D。
A、插入排序B、冒泡排序C、归并排序D、选择排序6.单个结点二叉树的高度为0,所有含有15个结点的二叉树中,最小高度是D。
A、6B、5C、4D、37.在一个具有n个顶点的无向图中,要连通全部顶点至少需要B条边。
A、nB、n-1C、n/2D、n+18.快速排序法的运行效率取决于D。
模拟题三参考答案1.C。
【解析】考查时间复杂度。
在程序中,执行频率最高的语句为“i=i*3”。
设该基本语句一共执行了k次,根据循环结束条件,有n>2*3k≥n/3,由此可得算法的时间复杂度为O(log3n)。
2.A。
【解析】考查出入栈操作的性质。
当P1=3,表示3最先出栈,前面1、2应在栈中,此时若出栈操作,则p2应为2;此时若进栈操作(进栈1次或多次),则p2为4、5、…、n都有可能,故选A。
3. B。
【解析】考查队列的应用。
图的广度优先搜索类似于树的层序遍历(形象地想象成一个扇形,以搜索起点为中心,逐层向相连的外圈搜索),同样需要借助于队列。
前序遍历二叉树是一个递归的过程,通常可以借助于栈,将递归算法转换为非递归算法。
图的深度优先搜索类似于树的前序遍历,也是一个递归的过程,通常也可以借助栈来实现。
4.C。
【解析】考查平衡二叉树的性质。
在平衡二叉树的结点最少情况下,递推公式为N0=0,N1=1,N2=2,N h=1+N h-1+N h-2(h为平衡二叉树高度,N h为构造此高度的平衡二叉树所需最少结点数)。
通过递推公式可得,构造5层平衡二叉树至少需12个结点,构造6层至少需要20个。
5.C。
【解析】考查二叉排序树的构造过程。
画出三个选项ABC构造的二叉排序树的草图即可知道答案,C和AB构造的树形不同;再画出最后一个选项D构造的二叉排序树即可验证答案,D和AB两项的相同。
6.B。
【解析】考查几种特殊二叉树的特点。
二叉判定树描述了折半查找的过程,肯定是高度平衡的,因此不可能是A。
对于B,此图中所有结点的关键值均大于左子树中结点关键值,且均小于右子树中所有结点的关键值,B 符合。
对于C,此图中存在不平衡子树,错误。
对于D,此图不符合小根堆或大根堆的定义。
7.C。
【解析】考查哈夫曼树的构造。
将16个权值相等(设为m)的字母看成16个独立的结点;从中任选两个结点构成一棵新的二叉树(共8棵),新树的权值为2m;再从8棵树中任选2棵构成新的二叉树(共4棵),新树的权值为4m,……,如此继续,刚好能构成一棵满二叉树。
2015考研真题数据结构数据结构是计算机科学中非常重要的一门学科,考研中也是一个重点考察的内容。
在2015年的考研真题中,数据结构也是一个热门出题领域。
本文将对2015年考研真题中的数据结构部分进行详细解析和讨论。
一、选择题2015年考研真题数据结构部分的选择题主要集中在树、图和排序算法等内容上。
其中,树的遍历、图的表示和遍历算法、排序算法的性能分析等是考点。
首先是树的遍历问题。
在2015年的考研真题中,给出了一棵二叉树的前序和中序遍历序列,要求根据这两个序列重建原来的二叉树。
这是一个常见的树问题,可以通过递归的方式进行求解。
另外,图的表示和遍历算法也是一个重要考点。
在2015年的考研真题中,给出了一个图的邻接矩阵表示和一个起点,要求输出从起点出发的深度优先遍历和广度优先遍历序列。
这是一个典型的图遍历问题,可以使用深度优先搜索和广度优先搜索算法进行求解。
在排序算法方面,2015年考研真题主要涉及快速排序和归并排序两种算法。
要求对给定的序列进行排序,并分析所给序列的最好、最坏和平均时间复杂度。
快速排序和归并排序是两种常见的高效排序算法,对于考研而言,了解它们的性能分析是很重要的。
二、编程题2015年考研真题的数据结构部分也包含了一道编程题,主要考察的是链表的操作。
在这道编程题中,给出了链表的头结点和一个整数K,要求将链表中第K个节点移动到链表的末尾,并输出新链表的头结点。
这是一个典型的链表操作问题。
可以通过遍历链表找到第K个节点,并进行相应的操作实现题目要求。
三、解题思路对于2015年考研真题中的数据结构部分,我们可以总结出一些解题的思路和方法。
首先,对于树的遍历问题,可以通过递归的方式来求解。
利用前序遍历和中序遍历的性质,可以重建原来的二叉树。
在递归的过程中,可以不断地将前序和中序遍历序列缩小范围,直至找到根节点。
其次,对于图的表示和遍历算法,可以使用深度优先搜索和广度优先搜索算法进行求解。
使用邻接矩阵来表示图,然后利用递归或队列等数据结构进行遍历,可以得到图的深度优先遍历和广度优先遍历序列。