15年数据结构903B真题
- 格式:pdf
- 大小:142.46 KB
- 文档页数:3
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()D.先序序列为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)三类。
2015年华中科技大学887数据结构与算法分析真题(回忆版)一.名词解释1.1(二叉树结点的)平衡因子1.2有向完全图1.3空间复杂度1.4(图的)广度优先搜索1.5二叉搜索树二.选择题2.1函数形式是⎪⎩⎪⎨⎧-=+-<=其他如果如果,)),1((12%,1)2(00)(n A A n n A n n A ,那么函数的时间复杂度是__________。
)(.A n O )log (.B n n O )(.C 2n O 记不清了.D2.2以下排序方法中时间复杂度比较稳定的是_______。
冒泡排序.A 选择排序.B 记不清了.C 归并排序.D2.3后续表达式求值。
2.4在长度为n 的数组中进行查找,成功查找的时间复杂度是________。
2.A n 21.B -n 21.C +n2.5题目给出的时间复杂度形式类似23log )(n n n n n n O ++=,则时间复杂度为_______。
三.大题3.1给出二叉树的中序遍历和后序遍历,试画出二叉树。
3.2给出九个数,用这九个数构成一颗哈夫曼树,并给出每一个数的哈夫曼编码。
3.3给出八个数,运用数组将这八个数构造成一个小根堆,并写出构造过程。
3.4有向图中共有0V 到6V 七个节点,运用Dijkstra 算法求出从0V 到其余点的最短路径,并写出过程。
3.5假设数组][a 中的元素增序排列并且每个元素的值均不相同,试设计算法确定是否存点点i 使得i i a =][,并给出算法的时间复杂度。
四.算法设计4.1运用函数)*(__int root BTNode leaves of number 设计算法计算二叉树中叶子结点的个数。
4.2在一个数组中如果j i <并且][][j A i A >,则称i 和j 为一对逆序对,请设计算法计算数组][n A 中的逆序对数,要求算法的时间复杂度为)log (n n O 。
2015年上海海事大学数据结构考研真题一.判断题(本题10分,每小题1分)1.线性表若采用顺序存储结构时,要求内存中可用存储单元的地址必须连续。
2.线性的数据结构可以顺序存储,也可链接存储;非线性的数据结构只能链接存储。
3.线性表的逻辑顺序与物理顺序总是一致的。
4.单链表从任何一个结点出发,都能访问到所有结点。
5.一个栈的输入序列是12345,则栈的输出序列有可能为43521。
6.设串S的长度为n,则S的长度不为0的子串个数为n(n+1)/2。
7.树和二叉树的结点数目都可以为0。
8.无向网的最小生成树是唯一的。
9.在图的拓扑排序序列中,任意两个相继结点V和V都存在从V;到V的路径。
10.深度优先遍历可以判断出一个有向图中是否有环(回路)。
二.填空题(本题30分,每空2分)1.分析下列程序段,其时间复杂度分别为∶(1)(2)2.在长度为n的顺序表中删除第 i个元素(0≤isn-1)时,需要向前移动(3)个元素。
3.在单链表中,要删除某一指定的结点,必须找到该结点的(4)_结点。
4.广义表A=((a),((b),c),((d)))的长度是_(5)__,深度是(6)__,取表头和表尾函数分别为head()和tail(),则从表中取出原子项c的运算为(7)6.一个深度为k的、具有最少结点的完全二叉树按层次用自然数对结点编号,则编号最小的叶子的序号是10,编号为 i的结点所在的层次号是117.在有n个顶点的有向图中,每个顶点的度最大可达128.对线性表进行二分查找时,要求线性表必须13。
9.在对n个元素进行冒泡排序的过程中,最好情况下的时间复杂度为1410.排序方法中,从未排序序列中依次取出元素与已排序序列中的元素进行比较,将其放入已排序序列的正确位置的方法,称为 15三.选择题(本题20分,每空2分)1.若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运行时间。
目前刚整理了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,则通过栈的作用后可以得到的输出序列为( )。
1、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以C)部分地址必须是连续 D)必须是不连续的2、队列的操作的原则是( A )。
A)先进先出 B) 后进先出C) 只能进行插入 D) 只能进行删除3、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( B )。
A)3 B)4 C)5 D)14、对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。
这样的排序方法是( A )。
A)直接选择排序 B)直接插入排序C)快速排序 D)起泡排序5、设给定问题的规模为变量n,解决该问题的算法所需时间为Tn=O(f(n)),Tn表示式中记号O表示( A )。
A)一个数量级别 B)一个平均值C)一个最大值 D)一个均方值6、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( D )存储方式最节省时间。
A)顺序表B)双链表C)带头结点的双循环链表 D)单循环链表7、在数据结构中,从逻辑上可以把数据结构分为( C )。
A)动态结构和静态结构 B)紧凑结构和非紧凑结构C)线性结构和非线性结构 D)内部结构和外部结构8、n个顶点,e条边的有向图的邻接矩阵中非零元素有( C )个。
A)n B)2e C)e D) n+e9、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a??11为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为( B )。
A)13 B)33 C)18 D)4010、已知广义表L=((x,y,z),a,(u,t,w)),从L 表中取出原子项t 的操作是( D )。
A) Head(Head(Tail(Tail(L))))B) Tail(Head(Head(Tail(L))))C) Head(Tail(Head(Tail(L))))D)Head(Tail(Head(Tail(Tail(L)))))11、以下属于顺序存储结构优点的是( A )。
2015年数据结构期末考试题及答案,推荐文档(word版可编辑修改) 编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(2015年数据结构期末考试题及答案,推荐文档(word版可编辑修改))的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为2015年数据结构期末考试题及答案,推荐文档(word版可编辑修改)的全部内容。
2012年数据结构期末考试题及答案一、选择题1.在数据结构中,从逻辑上可以把数据结构分为 C 。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.内部结构和外部结构2.数据结构在计算机内存中的表示是指 A 。
A.数据的存储结构B.数据结构C.数据的逻辑结构 D.数据元素之间的关系3.在数据结构中,与所使用的计算机无关的是数据的 A 结构。
A.逻辑B.存储C.逻辑和存储D.物理4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C .A.数据的处理方法B.数据元素的类型C.数据元素之间的关系D.数据的存储方法5.在决定选取何种存储结构时,一般不考虑 A 。
A.各结点的值如何B.结点个数的多少C.对数据有哪些运算D.所用的编程语言实现这种结构是否方便.6.以下说法正确的是 D 。
A.数据项是数据的基本单位B.数据元素是数据的最小单位C.数据结构是带结构的数据项的集合D.一些表面上很不相同的数据可以有相同的逻辑结构7.算法分析的目的是 C ,算法分析的两个主要方面是 A .(1)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系C.分析算法的效率以求改进 C.分析算法的易读性和文档性(2)A.空间复杂度和时间复杂度 B.正确性和简明性C.可读性和文档性 D.数据复杂性和程序复杂性8.下面程序段的时间复杂度是O(n2) 。
数据结构历年真题及解析题一、选择题1. 下列关于数组的描述,正确的是()。
A. 数组在内存中是连续存放的。
B. 数组一经定义,其长度不可改变。
C. 数组的每个元素可以是不同的数据类型。
D. 数组可以通过下标随机访问元素。
答案:A、B、D2. 链表相比于数组的优势在于()。
A. 内存使用更高效。
B. 插入和删除操作更加方便。
C. 可以通过下标随机访问元素。
D. 存储空间可以动态分配。
答案:B、D3. 栈(Stack)的特点是()。
A. 先进先出(FIFO)。
B. 后进先出(LIFO)。
C. 只能在一端进行插入和删除。
D. 可以通过索引随机访问元素。
答案:B、C4. 队列(Queue)与栈的主要区别在于数据的()。
A. 存取方式。
B. 存储结构。
C. 操作速度。
D. 内存占用。
答案:A5. 二叉树的前序遍历的顺序是()。
A. 根-左-右。
B. 左-根-右。
C. 右-根-左。
D. 根-右-左。
答案:A6. 快速排序算法的时间复杂度在最坏情况下是()。
A. O(n)B. O(nlogn)C. O(n^2)D. O(n^3)答案:C7. 哈希表的冲突解决方法中,开放定址法的特点是()。
A. 通过增加哈希表的大小来解决冲突。
B. 通过链表来链接具有相同哈希值的元素。
C. 寻找表中下一个空闲位置来存储冲突元素。
D. 重新计算哈希值,直到找到空闲位置。
答案:C8. 图的遍历算法中,深度优先搜索(DFS)与广度优先搜索(BFS)的主要区别在于()。
A. DFS使用递归,BFS使用队列。
B. DFS使用栈,BFS使用递归。
C. DFS使用队列,BFS使用栈。
D. DFS和BFS都使用链表。
答案:A9. 堆(Heap)结构中,最大堆的性质是()。
A. 父节点的值小于子节点。
B. 父节点的值大于子节点。
C. 父节点的值等于子节点。
D. 没有固定的大小关系。
答案:B10. 动态规划算法通常用于解决()类型的问题。
A. 排序。
河南师范大学计算机与信息工程学院2016―2017学年度第一学期2015级期末考试《数据结构》试卷B( )1.分块查找的平均查找长度不仅与索引表的长度有关,而且与块的长度有关。
( )2.在一棵7阶B-树中,一个结点中最多有6棵子树,最少有3棵子树。
( )3.有序表只能进行折半查找。
( )4.栈在数据中的存储原则是先进先出。
( )5.满二叉树也是完全二叉树。
( )6.带权连通图中某一顶点到图中另一定点的最短路径不一定唯一。
( )7.无向图的邻接矩阵是对称的,有向图的邻接矩阵是不对称的。
( )8.非空二叉排序树的任意一棵子树也是二叉排序树。
( )9.算法一定要有输入和输出。
( )10.快速排序是一种不稳定的排序方法。
1.在数据结构中,从逻辑上可以把数据结构分成_____。
(A) 动态结构和静态结构 (B) 紧凑结构和非紧凑结构 (C) 线性结构和非线性结构 (D) 内部结构和外部结构 2.设无向图G 中有n 个顶点,则该无向图的最小生成树上有_____条边。
(A) n (B) n-1 (C) 2n (D) 2n-13.已知广义表LS =((a,b,c),(d,e,f)),运用head 和tail 函数取出LS 中原子e 的运算是_____。
(A) head(tail(LS)) (B) tail(head(LS))(C) head(tail(head(tail(LS))) (D) head(tail(tail(head(LS))))4._____二叉排序树可以得到一个从小到大的有序序列。
(A) 先序遍历 (B) 中序遍历 (C) 后序遍历 (D) 层次遍历5.设按照从上到下、从左到右的顺序从1开始对完全二叉树进行顺序编号,则编号为i 结点的左孩子结点的编号为_____。
(A) 2i+1(B) 2i (C) i/2(D) 2i-16.程序段s=i=0;do {i=i+1; s=s+i ;}while(i<=n);的时间复杂度为_____。
下面请看2015年考研:计算机数据结构测试题(三)答案一、选择题1.C2.C3.C4.B5.B6.C7.B8.C9.A 10.A二、判断题1.对2.错3.对4.错5.错6.对7.对8.对9.对10.对三、填空题1. 1. (49,13,27,50,76,38,65,97)2. 2. t=(bitree *)malloc(sizeof(bitree)),bstinsert(t->rchild,k)3. 3. p->next=s4. 4. head->rlink,p->llink5. 5. CABD6. 6. 1,167. 7. 08. 8. (13,27,38,50,76,49,65,97)9. 9. n-110. 10. 50四、算法设计题1. 1. 设计一个在链式存储结构上统计二叉树中结点个数的算法。
void countnode(bitree *bt,int &count){if(bt!=0){count++; countnode(bt->lchild,count); countnode(bt->rchild,count);}}2. 2. 设计一个算法将无向图的邻接矩阵转为对应邻接表的算法。
typedef struct {int vertex[m]; int edge[m][m];}gadjmatrix;typedef struct node1{int info;int adjvertex; struct node1 *nextarc;}glinklistnode; typedef struct node2{int vertexinfo;glinklistnode *firstarc;}glinkheadnode;void adjmatrixtoadjlist(gadjmatrix g1[ ],glinkheadnode g2[ ]){int i,j; glinklistnode *p;for(i=0;i<=n-1;i++) g2[i].firstarc=0;for(i=0;i<=n-1;i++) for(j=0;j<=n-1;j++)if (g1.edge[i][j]==1){p=(glinklistnode *)malloc(sizeof(glinklistnode));p->adjvertex=j; p->nextarc=g[i].firstarc; g[i].firstarc=p;p=(glinklistnode *)malloc(sizeof(glinklistnode));p->adjvertex=i; p->nextarc=g[j].firstarc; g[j].firstarc=p;}}。