13浙江理工数据结构真题
浙江理工大学数据结构与算法期末样卷 (2)
模拟试卷二参考答案一、单选题(每题2分,共20分)1.B 2.B 3.A 4.C 5.D 6.A 7.C 8.C 9.D 10.D二、填空题(每空1分,共26分) 1.集合结构 线性结构 树结构 图结构 2. O(n) 3.O(1) O(1) 4.7 2 25. 94 3 X Y * + 2 Y * 3 / -6. 16 317.孩子(或子)结点 双亲(或父)结点 8. 45 n(n-1)9.(12,36) (17,5,49) (74,82) (63) 10.减少1(或减少) 11. O(log 2n) O(nlog 2n) 12. n/m三、 运算题(每题6分,共24分) 1.线性表为:(90,40,78,50,34,60)2. 当前序序列为ABKCDFGHIJ ,中序序列为KBCDAFHIGJ 时,逐步形成二叉树的过程如下图4所示:图4 3.用克鲁斯卡尔算法得到的最小生成树为:(1,6)1, (2,4)1, (2,5)2, (5,7)2, (2,6)3, (3,5)7 4.见图5。
图5四、 阅读算法(每题7分,共14分) 1. (1) La=(26,34,57,79,100)(2)La=(57,79,100,34) (3)La=(79,34,57,26,100) 2.前序遍历链式存储的二叉树。
五、算法填空(每空2分,共8 分)(low<=high) K==A[mid].key Binsch(A,mid+1,hight,K) return -1六、编写算法(8分)bool Find(LNode* HL, ElemType &item) {LNode* p=HL; while pif (p->data==item){ return true; }else p=p->next; return false; }。
2013浙江省数据结构基础试题及答案
1、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一C)不含回路 D)有n条边2、在数据结构中,从逻辑上可以把数据结构分为( C )。
A)动态结构和静态结构 B)紧凑结构和非紧凑结构C)线性结构和非线性结构 D)内部结构和外部结构3、链式存储的存储结构所占存储空间( A )。
A)分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针B)只有一部分,存放结点值C)只有一部分,存储表示结点间关系的指针D)分两部分,一部分存放结点值,另一部分存放结点所占单元数4、在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行( A )。
A)q->next=s; s->next=p; B)s->next=p->next; p->next=s;C)p->next=s->next; s->next=p D)p->next=s; s->next=q;5、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( D )存储方式最节省时间。
A)顺序表B)双链表C)带头结点的双循环链表 D)单循环链表6、设一数列的顺序为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,17、链式存储的存储结构所占存储空间( A )。
A)分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针B)只有一部分,存放结点值C)只有一部分,存储表示结点间关系的指针D)分两部分,一部分存放结点值,另一部分存放结点所占单元数8、n个顶点,e条边的有向图的邻接矩阵中非零元素有( C )个。
A)n B)2e C)e D) n+e9、在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为( C )。
2012-2013数据结构
浙江大学2012–2013学年秋学期《数据结构基础》课程期末考试试卷(A) 课程号: 211C0020_,开课学院:_计算机科学与技术_考试试卷:√A卷、B卷(请在选定项上打√)考试形式:√闭、开卷(请在选定项上打√),允许带____无___入场考试日期: 2012 年 11 月 15 日,考试时间: 120 分钟诚信考试,沉着应考,杜绝违纪。
考生姓名:学号:所属院系: _Answer SheetNOTE: Please write your answers on the answer sheet.注意:请将答案填写在答题纸上。
I. Please select the answer for the following problems. (20 points)(1) Which one of the following statements is true as N grows?a. For any x , N x grows faster than !Nb. 2)(log N grows faster than Nc. 2log N grows faster than 2)(log Nd. N grows faster than 2)(log N N(2) What is the time complexity of the following function that computes X N ?long int Pow (long int X, unsigned int N) {if (N == 0) return 1;if (N == 1) return X;if (IsEven(N)) /* IsEven(N) returns 1 if N is even, or 0 otherwise */return Pow(X, N / 2) * Pow (X, N / 2);else return Pow(X * X, N / 2) * X;} a. O(N ) b. O(N log ) c. O(N N log ) d. O(N )(3) Suppose that N integers are pushed into and popped out of a stack. The input sequence is 1, 2, …, N and the output sequence is p 1, p 2, …, p N . If p 2 = 2, then p i (i>2) must be .a. ib. i+2c. N - id. cannot be determined(4) What is the major difference among lists, stacks, and queues? a. Lists use pointers, and stacks and queues use arraysb. Stacks and queues are lists with insertion/deletion constraintsc. Lists and queues can be implemented using circularly linked lists, but stacks cannotd. Stacks and queues are linear structures while lists are not(5) For an in-order threaded binary tree, if the pre-order and in-order traversal sequences are ABCDEF and CBAEDF respectively ,which pair nodes ’ right links are both threads?a. A and Bb. B and Dc. C and Dd. B and E(6) If N keys are hashed into the same slot, then to find these N keys, the minimum number of probes with linear probing is .a. N-1b. Nc. N(N+1)/2d. N+1(7) If an undirected graph with N vertices and E edges is represented by an adjacency matrix. How many zero elements are there in the matrix? a. E b. 2E c. N 2-E d. N 2-2E(8) If a directed graph is stored by an upper-triangular adjacency matrix –- that is, all the elements below the main diagonal are zero. Then its topological order .a. exists and must be uniqueb. exists but may not be uniquec. does not existd. cannot be determined(9)Sort a sequence of nine integers {4, 8, 3, 7, 9, 2, 10, 6, 5} by insertion sort. When 2 is moved to the first position, the number 8 must be at position (start from 1) .a. 4b. 5c. 6d. 7(10)Let T be a tree of N nodes created by union-by-height without path compression, then the depth of the tree isa. N/2b. O(logN)c. O(N2)d. O(1)II. Given the function descriptions of the following two (pseudo-code) programs, please fill in the blank lines. (21 points)(1)Bubble sort is a simple sorting algorithm. Suppose we have a list of integers and want to sort them in ascending order. Bubble sort repeatedly scans the list from the head to the tail, and swaps two adjacent numbers if they are in the wrong order. Please complete the following program to implement bubble sort. (12 points)struct node{int value;struct node *next;/* some other fields */}struct node BubbleSort (struct node *h){/* h is the head pointer of the list with a dummy head node */struct node *p, *q;int flag_swap;if (!h->next) return h;do{flag_swap = 0;p = h;while (p->next->next){if (① ){flag_swap++;q = p->next;② ;③ ;④ ;}else p = p->next;}} while (flag_swap > 0);return h;}(2)The function is to perform Find as a Union/Find operation with path compression. (9 points)SetType Find ( ElementType X, DisjSet S ){ElementType root, trail, lead;for ( root = X; S[ root ] > 0; ① );for ( trail = X; trail != root; ② ) {lead = S[ trail ] ;③ ;}return root ;}III. Please write or draw your answers for the following problems on the answer sheet. (44 points)(1) A sorting algorithm is stable if for any keys K i = K j for i < j,the corresponding records R i precedes R j in the sorted list.(a)Is Heap Sort stable? Please give a proof if your answer is“YES”, else please provide a counter example. (4 points)(b)Is Quick Sort stable? Please give a proof if your answer is“YES”, else please provide a counter example. (4 points)(2)Given the adjacency list representation of a directed graph.Suppose V1 is always the first vertex being visited. Please list(a)the depth-first search sequence; (5 points)(b)the breath-first search sequence; (5 points) and(c)the strongly connected components. (3 points)(3) A binary search tree is said to be of “type A”if all the keysalong the path from the root to any leaf node are in sorted order(either ascending or descending).(a)Given four keys {1, 2, 3, 4}, please draw all the possiblebinary search trees of type A. (4 points)(b)In general, given N keys {1, 2, …, N}, how many differentbinary search trees of type A can be constructed? (3 points)(4)Given a hash table of size 13 and the hash function H(key) = keymod 13. Assume that quadratic probing is used to solve collisions.Please fill in the hash table with input numbers {2, 15, 3, 16, 6,29, 24, 28}. (4 points)(5)Given eight keys {1, 2, …, 8}. Please do the following:(a)construct a complete binary tree which is also a binary searchtree; (5 points) and(b)construct a min-heap out of the array which stores thecomplete binary tree obtained from (a). Use BuildHeap with asequence of percolate-down’s. (4 points)(c)Observe the keys on each level of the min-heap obtained from(b). Is there a pattern of ordering? Is this true for moregeneral cases? (3 points)IV. Given a tree represented by left-child-right-sibling structure, please describe an algorithm that counts the number of leaf nodes on every level.(15 points)。
数据库A2013期末卷
浙江理工大学2013—2013学年第2学期《数据库原理与应用》期末试卷(A)卷本人郑重承诺:本人已阅读并且透彻地理解《浙江理工大学考场规则》,愿意在考试中自觉遵守这些规定,保证按规定的程序和要求参加考试,如有违反,自愿按《浙江理工大学学生违纪处分规定》有关条款接受处理。
承诺人签名:学号:班级:一、程序阅读题(本题共40分)已知数据表Test1和Test2的定义如下。
其数据分别如表1和表2所示(表中未列出的数据需要自己计算得出),写出下列各个小题中SELECT语句的输出结果。
CREATE TABLE test1 (ProductID char(2) Primary key,Productname varchar(20),Category char(1),Price money,RowID int identity(20,2) )GOCREATE TABLE test2 (OrderID char(4),OrderDate datetime,Qty int default(0),ProductID char(2),Primary Key(OrderID, ProductID DESC) )GOCREATE VIEW view1 ASSELECT a.ProductID,Productname,OrderID,OrderDate,Convert(varchar(10),OrderDate,120) as 'OrderDay',Qty*Price as 'Amt' FROM test2 aJOIN test1 b on a.ProductID=b.ProductIDGOCREATE PROCEDURE pro1 @str nvarchar(20) ASSELECT ProductID,ProductName,OrderID,OrderDay,Amt FROM view1 WHERE Productname like @str andDATEDIFF(month,OrderDate,GETDATE())<=6GOExecute Pro1 '%[^ns]o%'--第2小题(6分);WITH tmp AS(SELECT Category,COUNT(*) as Number FROM test1GROUP BY Category WITH Rollup)SELECT CASE CategoryWHEN 'R' THEN 'Land'WHEN 'T' THEN 'Fruit'WHEN 'M' THEN 'Wave'ELSE '*S*' END as 'Category',Number FROM tmpDECLARE @t TABLE (Pid char(2),Qty int)INSERT INTO @t (Pid,Qty) SELECT ProductID,SUM(qty) FROM test2GROUP BY ProductID HAVING SUM(qty)>15SELECT a.Pid,b.Productname as 'Pname',Qty FROM @t a,test1 bWHERE b.ProductID=a.PidGO--第4小题(6分)ALTER TABLE test1 Add newCol intGOUPDATE test1 set newCol=(SELECT SUM(qty) from test2 WHERE ProductID=test1.ProductID ) SELECT * FROM test1 WHERE newCol<(SELECT AVG(newCol) FROM test1)SELECT OrderID,OrderDay,Productname,Amt,0 as Flag1,0 as Flag2 INTO test3 FROM view1 UNION ALLSELECT '','*S*',Productname,SUM(Amt),0,1 FROM view1 GROUP BY Productname WITH ROLLUP GOUPDATE test3 SET Orderday='*T*',Productname='',Flag1=1 WHERE Productname IS NULL SELECT OrderID,Orderday,Productname,Amt FROM test3WHERE Productname>'ON' OR Productname='' ORDER BY Flag1,Productname,Flag2GO--第6小题(6分)CREATE FUNCTION fn1 (@v1 nvarchar(10))RETURNS varchar(20) ASBEGINDECLARE @s varchar(20),@n int,@s1 varchar(30)SELECT @n=count(*) from test2 where ProductID=@v1SELECT @s1=Productname FROM test1 where ProductID=@v1IF @n>0BEGINIF @n>1 set @s=@s1+Space(1)+LTRIM(STR(@n,6))+'ts'else set @s=@s1+Space(1)+'1t'ENDELSE IF @n=0 set @s=@s1+space(1)+'*'RETURN(@s)ENDGOSELECT ProductID,dbo.fn1(ProductID) as Frequency FROM test1 ORDER BY ProductID--第7小题(4分)ALTER TABLE test2 ADD newCol intGODECLARE c1 cursor FOR SELECT productid,qty FROM test2ORDER BY ProductID,OrderDateOPEN c1DECLARE @qty int,@qty1 int,@id nvarchar(2),@id1 nvarchar(2),@price moneyFetch Next FROM c1 into @id1,@qty1Set @id=''Set @qty=0WHILE @@fetch_status=0BEGINIF @id<>@id1beginSet @id=@id1Set @qty=@qty1endELSE Set @qty=@qty+@qty1UPDATE test2 Set newCol=@qty WHERE CURRENT of c1Fetch Next FROM c1 into @id1,@qty1ENDDEALLOCATE c1SELECT ProductID,OrderID,Convert(varchar(10),OrderDate,120) as 'Orderdate',Qty,newCol FROM test2 WHERE ProductID like 'C[36]' ORDER BY ProductID,OrderDateGO表2. Test1表数据表3. Test2表数据二、程序设计题(本题共60分)数据库mySales用来存放某企业产品销售数据,Products表存放产品信息,Categories 表存放产品类别,Customers表存放客户信息,Orders表存放订单信息,OrderItems表存放订单明细信息,其表结构见表3~表7。
浙江理工大学数据结构与算法期末样卷(1)
浙江理工大学数据结构与算法期末样卷(1)模拟试卷二一、单选题(每题2分,共20分)1.在一个具有额外字段结点的单链表中hl中,若要向字段填入一个由指针p指向的结点,则继续执行()a.hl=p;p->next=hl;b.p->next=hl->next;hl->next=p;c.p->next=hl;p=hl;d.p->next=hl;hl=p;2.若顺序存储的循环队列的queuemaxsize=n,则该队列最多可以存储()个元素a.nb.n-1c.n+1d.不确定3.下列哪一条就是顺序存储方式的优点?()a.存储密度大b.插入和删除运算方便c.获取符合某种条件的元素方便d.查找运算速度快4.建有一个二维数组a[m][n],假设a[0][0]放置边线在600(10),a[3][3]放置边线在678(10),每个元素占到一个空间,问a[2][3](10)存放在什么边线?(注释(10)则表示用10十进制则表示,m>3)a.658b.648c.633d.6535.下列关于二叉树遍历的叙述中,正确的是()a.若一个树叶就是某二叉树的中序结点的最后一个结点,则它必就是该二叉树的前序结点最后一个结点b.若一个点是某二叉树的前序遍历最后一个结点,则它必是该二叉树的中序遍历的最后一个结点c.若一个结点就是某二叉树的中序结点的最后一个结点,则它必就是该二叉树的前序最后一个结点d.若一个树叶是某二叉树的前序最后一个结点,则它必是该二叉树的中序遍历最后一个结点6.k层二叉树的结点总数最多为()a.2k-1b.2k+1c.2k-1d.2k-17.对线性表展开二分法搜寻,其前提条件就是()a.线性表以链接方式存储,并且按关键码值排好序b.线性表以顺序方式存储,并且按关键码值的检索频率排好序c.线性表以顺序方式存储,并且按关键码值排好序d.线性表以链接方式存储,并且按关键码值的检索频率排好序8.对n个记录进行堆排序,所需要的辅助存储空间为()a.o(1og2n)b.o(n)c.o(1)d.o(n2)9.对于线性表(7,34,77,25,64,49,20,14)展开杂凑存储时,若采用h(k)=k%7做为杂凑函数,则杂凑地址为0的元素存有()个,a.1b.2c.3d.410.以下关于数据结构的描述中,恰当的就是()a.数组就是相同类型值的子集b.递归算法的程序结构比迭代算法的程序结构更为精炼c.树是一种线性结构d.用一维数组存储一棵全然二叉树就是有效率的存储方法二、填空题(每空1分,共26分)1.数据的逻辑结构被分成_________、________、__________和___________四种。
《数据结构》历年考研真题及解答
《数据结构》考研真题及解答目录2009 年试题 (1)填空题 (1)解答题 (2)2010 年试题 (2)填空题 (2)解答题 (4)2011 年试题 (4)填空题 (4)解答题 (5)2012 年试题 (6)填空题 (6)解答题 (7)2013 年试题 (8)填空题 (8)解答题 (9)2014 年试题 (10)填空题 (10)解答题 (11)2015 年试题 (12)填空题 (12)解答题 (14)2009 年试题填空题1.为解决计算机与打印机之间速度不匹配的问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。
该缓冲区的逻辑结构应该是A.栈B.队列C.树D.图2.设栈 S 和队列 Q 的初始状态均为空,元素 abcdefg 依次进入栈 S。
若每个元素出栈后立即进入队列 Q,且7 个元素出队的顺序是 bdcfeag,则栈 S 的容量至少是A.1 B.2 C.3 D.43.给定二叉树图所示。
设 N 代表二叉树的根,L代表根结点的左子树,R代表根结点的右子树。
若遍历后的结点序列为 3,1,7,5,6,2,4,则其遍历方式是A.LRN B.NRL C.RLN D.RNL4.下列二叉排序树中,满足平衡二叉树定义的是5.已知一棵完全二叉树的第 6 层(设根为第 1 层)有8 个叶结点,则完全二叉树的结点个数最多是A.39 B.52 C.111 D.1196.将森林转换为对应的二叉树,若在二叉树中,结点u 是结点v 的父结点的父结点,则在原来的森林中,u 和v 可能具有的关系是I.父子关系II.兄弟关系III.u 的父结点与v 的父结点是兄弟关系A.只有IIB.I 和IIC.I 和IIID.I、II 和III7.下列关于无向连通图特性的叙述中,正确的是I.所有顶点的度之和为偶数II.边数大于顶点个数减1 III.至少有一个顶点的度为1A.只有IB.只有IIC.I 和IID.I 和III8.下列叙述中,不符合 m 阶B 树定义要求的是A.根节点最多有m 棵子树 B.所有叶结点都在同一层上C.各结点内关键字均升序或降序排列 D.叶结点之间通过指针链接9.已知关键序列 5,8,12,19,28,20,15,22 是小根堆(最小堆),插入关键字 3,调整后得到的小根堆是A.3,5,12,8,28,20,15,22,19B.3,5,12,19,20,15,22,8,28C.3,8,12,5,20,15,22,28,19D.3,12,5,8,28,20,15,22,1910.若数据元素序列 11,12,13,7,8,9,23,4,5 是采用下列排序方法之一得到的第二趟排序后的结果,则该排序算法只能是A.起泡排序 B.插入排序 C.选择排序 D.二路归并排序解答题41.(10 分)带权图(权值非负,表示边连接的两顶点间的距离)的最短路径问题是找出从初始顶点到目标顶点之间的一条最短路径。
真题_2013年_数据结构
二、综合应用题:41~47小题,共70分。
41.(13分)参考答案 (2)参考算法: int Majority(int A[ ], int n) { int *C; C=new int [n]; for (int i=0; i<n; i++) C[i]=0; for (i=0; i<n; i++) C[A[i]] ++; for (i=0; i<n; i++) if (C[i]>n/2) return i; //找到了主元素 return -1; //没有找到主元素 }
1.已知两个长度分别为m和n的升序链表,若将它们合并为一个 长度为m+n的降序链表,则最坏情况下的时间复杂度是 A.O(n) B.O(m*n) C.O(min(m,n)) D.O(max(m,n))
参考答案: D
2.一个栈的入栈序列是1,2,3,...,n,其出栈序列是p1,p2,p3,...,pn。 若p2=3,则p3可能取值的个数是 A.n-3 B.n-2 C.n-1 D.不确定
11. 对给定的关键字序列110,119,007,911, 114,120,122进行基数排序,则第2趟分配收 集后得到的关键字序列是 A. 007,110,119,114,911,120,122 B. 007,110,119,114,911,122,120 C. 007,110,911,114,119,120,122 D. 110,120,911,122,114,007,1题:41~47小题,共70分。
二、综合应用题:41~47小题,共70分。
41.(13分)参考答案 (1)给出算法的基本设计思想。 利用计数排序的思想,先求出原序列中每个元素的出现次数 并保存在另一计数数组中 然后检查计数数组中每个元素的值,返回值大于n/2的计数数 组值。否则返回-1 (2)根据设计思想,采用C或C++或Java语言描述算法,关键 之处给出注释。 (3)说明你所设计算法的时间复杂度和空间复杂度 T(n)=O(n) S(n)=O(n)
浙江理工大学数据结构考研真题2007—2012、2017—2019年
A. P->left == null
B. P->ltag =1
C. P->ltag ==1 且 P->left ==null
D. 以上都不对
8. 稀疏矩阵一般的压缩存储方法有两种,即__________。
A.二维数组和三维数组
B.三元组和散列
第 1 页 ,共 4 页
C.三元组和十字链表
D.散列和十字链表
1. 用 S 表示入栈操作,X 表示出栈操作,若元素入栈顺序为 1234,为了得到 1342 出栈顺
序,相应的 S、X 操作串为__
___。
2.若二叉树 T 的前序遍历f,
则其后序遍历序列是_
____。
第 1 页,共 2 页
3.已知一个图的邻接矩阵表示,删除所有从第 i 个结点出发的边的方法是_ 4. 一棵有 124 个叶结点的完全二叉树,最多有______个结点。 5.对 n 个元素进行初始建堆的过程中,最多进行___ ___数据比较。
_________地址相同。
A.a[5,3];
B.a[8,3]; C.a[1,4]; D.A、B、C 均不对;
7.在有向图的邻接表存储结构中,顶点 v 在表结点中出现的次数等于_________。
A.顶点 v 的度; B.顶点 v 的出度; C.顶点 v 的入度; D.依附于顶点 v 的边数;
二.填空题(20 分)
3. 常对数组进行的两种基本操作是
。
A.建立与删除
B.插入与修改
C.查找与修改
D.查找与插入
4. 数组 Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾
元素的位置,假定队列中元素的个数小于n,计算队列中元素的公式
02331数据结构2013年1 月份历年真题附答案
2013年1月高等教育自学考试全国统一命题考试数据结构试题课程代码:02331考生答题注意事项:1.本卷所有试卷必须在答题卡上作答。
答在试卷和草稿纸上的无效。
2.第一部分为选择题。
必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。
3.第二部分为非选择题。
必须注明大、小题号,使用0.5毫米黑色字迹笔作答。
4.合理安排答题空间,超出答题区域无效。
选择题部分一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。
错涂、多涂或未涂均无分。
1.数据的逻辑结构可以分为A.动态结构和静态结构 B.顺序结构和链式结构C.线性结构和非线性结构 D.简单结构和构造结构2.线性表是一个有限序列,组成线性表的基本单位是A.数据项 B.数据元素C.数据域 D.字符3.栈中有a、b和c三个元素,a是栈底元素,c是栈顶元素,元素d等待进栈,则不可..能.的出栈序列是A.dcba B.cbdaC.cadb D.cdba4.稀疏矩阵的三元组表是A.顺序存储结构 B.链式存储结构C.索引存储结构 D.散列表存储结构5.已知广义表G,head(G)与tail(G)的深度均为6,则G的深度是A.5 B.6C.7 D.86.下列编码集合中,属于前缀编码的一组是A.{11,10,001,101,0001}B.{00,010,0110,1000}C.{11,01,001,0101,0001}D.{0,10,110,1011}7.如题7图所示二叉树的中序序列为A.ACDBB.DCBAC.CDBAD.ABCD题7图8.有向图中所有顶点入度之和与所有顶点出度之和的比是A.1/2 B.1C.2 D.49.含有n个顶点和e条边的有向图的邻接矩阵中,零元素的个数是A.eB.2eC.n2-2eD.n2-e10.n个顶点的无向连通图,其生成树的边数为A.n-lB.nC.n+lD.nlogn11.用自底向上的冒泡排序方法对序列(8,13,26,55,29,44)从大到小排序,第一趟排序需进行交换的次数为A.2 B.3C.4 D.512.对序列(8,13,26,55,29,44)从小到大进行基数排序,第一趟排序的结果是A.(13,44,55,26,8,29)B.(13,26,55,44,8,29)C.(8,13,26,29,44,55)D.(29,26,8,44,55,13)13.采用分块查找时,要求数据A.块内有序 B.分块有序C.分块无序 D.每块中数据个数必须相同14.下列关于散列函数的说法正确的是A.散列函数越复杂越好B.散列函数越简单越好C.用除余法构造的散列函数是最好的D.在冲突尽可能少的情况下,散列函数越简单越好15.下列关于m阶B树的叙述中,错误..的是A.每个结点至多有m棵子树B.每个结点至多有m-1个关键字 C .所有的叶结点均在同一层上 D.根结点至少有/2m ⎡⎤⎢⎥棵子树非选择题部分注意事项:用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。
数据结构期末考卷12-13级
得分
1. 设有一个单循环链表p如下图所示, ① 请画出执行p->next=p->next->next语句后的新链表
图; ② 若现有一个新结点q,如下图所示,则请在①基础上画出接着执行q>next=p->next; p->next=q; p=q; 语句序列后的新链表图。 p q data next z y x d
Hale Waihona Puke 得分1. 下列算法是输出邻接矩阵存储结构的有向图G各顶点的入度和出度, 请在空白处填入适当的语句,使该算法完整。 typedef int adjmatrix[MaxVertexNum] [MaxVertexNum]; void Graph( adjmatrix G, int n) { //G是n个顶点的邻接矩阵存储结构的有向图 int i, j, k, d; for(i = 0 ; i < n; i++) { d = 0; for(j=0; j < n; j++) if( ① ) d++; cout<<”顶点i的出度是”<<d<<”,”; d= ② ; for(k=0; k < n; k++)
if( ③ ) d++; cout<<”顶点i的入度是”<<d<<endl; } } 2. 一个双端队列是限定在两端end1和end2都可以进行插入和删除的 线性表。若用顺序方式来组织双端队列(构成一个循环队列),示意图 如下图所示,Q.end1指向一端的头元素的前一个位置,Q.end2指向 另一端的头元素位置,队列空条件为:Q.end1==Q.end2;队列满条 件为: (Q.end2+1)%MAXSIZE==Q.end1(此时有一个元素空间 为空)。初始状态时,Q.end1=Q.end2=0。入队列时,end1按照逆 时针方向进行,end2按照顺时针方向进行;出队列时方向相反。下列 算法是在指定端K(K为1或2)进行双端队列的插入操作,当k==1 时,在左端Q.end1操作;k==2时,在右端Q.end2操作,请在空白处 填入适当的语句,使该算法完整。 0 1 MAXSIZE-1 …. 8 5 6 …. end1 end2
2013年浙江省数据结构试题集(10套题并附带答案)(必备资料)
C. 72 D. 53
27、6个顶点的强连通图中,含有的边数至少是
A.4 B.5 C.6 D.7
28、在数据结构中,从逻辑上可以把数据结构分为 C 。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构
A 5,4,3,2,1 B 4,5,3,2,1 C 4,3,5,1,2 D 1,2,3,4,5
35、不带头结点的单链表head为空的判定条件是 A 。
A.head == NULL B head->next ==NULL
C.head->next ==head D head!=NULL
1、链表不具备的特点是 A 。
A.可随机访问任一结点 B.插入删除不需要移动元素
C.不必事先估计存储空间 D.所需空间与其长度成正比
2、需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。
A.单链表 B.静态链表 C.线性链表 D.顺序存储结构
36、若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用
D 存储方式最节省运算时间。
A.单链表 B.给出表头指针的单循环链表 C.双链表 D.带头结点的双循环链表
37、对于图1所示的二叉树,其后序序列为(C )。
A)ABDECFG B)DBEAFCG
C.top=top一1;V[mp]=x D.V[top]=x;top=top—l
46、向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为( )。
A.O(n) B.O(1)
C.O(n2) D.O(10g2n)
47、若一个栈以数组V[0..n-1]存储,初始栈顶指针top为n,则x入栈的正确操作是
数据结构考研真题及其答案
数据结构考研真题及其答案数据结构是计算机科学与技术专业考研中的重要科目之一,它对于培养学生的程序设计和算法分析能力具有关键作用。
以下将为大家呈现一些典型的数据结构考研真题,并提供详细的答案解析。
一、选择题1、若一个栈的输入序列为 1, 2, 3, 4, 5,不可能得到的输出序列是()A 2, 3, 4, 1, 5B 5, 4, 3, 2, 1C 1, 5, 4, 3, 2D 3, 4, 2, 5, 1答案:C解析:栈的特点是“后进先出”。
对于选项 C,先输出 1,意味着 2、3、4、5 都已入栈,此时栈顶元素为 5,不可能接着输出 5 之后就输出4。
2、已知一棵二叉树的先序遍历序列为 ABCDEFG,中序遍历序列为 CBDAEGF,则其后序遍历序列为()A CDBAFGEB CDBGFEAC CDBAGFED BCDAFGE答案:B解析:先根据先序和中序遍历序列构建二叉树。
先序遍历中第一个节点 A 为根节点,在中序遍历中找到 A,其左边的 CBD 为左子树,右边的 EGF 为右子树。
同样的方法确定左子树和右子树的结构。
然后按照“左子树右子树根节点”的顺序得到后序遍历序列 CDBGFEA。
3、对于一个具有 n 个顶点的无向图,若采用邻接矩阵表示,则该矩阵的非零元素个数为()A n(n 1) / 2B n(n + 1) / 2C n(n 1)D n(n + 1)答案:A解析:无向图的邻接矩阵是对称的。
对于顶点 i 和 j(i ≠ j),若它们之间有边,则矩阵中对应位置为 1,共有 n(n 1) / 2 对不同的顶点对,所以非零元素个数为 n(n 1) / 2 。
二、简答题1、简述冒泡排序的基本思想,并分析其时间复杂度和空间复杂度。
答案:冒泡排序的基本思想是通过相邻元素的两两比较和交换,将最大(或最小)的元素逐步“浮”到数组的一端。
时间复杂度:在最坏情况下,即数组完全逆序,需要进行 n 1 轮比较,每轮比较 n i 次(i 为轮数,从 1 到 n 1),所以总的比较次数为n(n 1) / 2,时间复杂度为 O(n^2)。
浙江理工大学2018年《938数据结构与数据库技术》考研专业课真题试卷
二、程序填空题(每个空格 2 分,本题共 24 分)
1. 下列程序是将两个有序的单链表 lnode1 和 lnode2 合并成一个依然有序的单链表, 试在下列空白处填入正确语句。 typedef struct node{ int data; }linklist; void sort(linklist *lnode1, linklist *lnode2){ linklist *p1,*p2,*tmp; p1=lnode1; p2= (1) ; while(p1->next!=null && p2!=null){ if (p1->next->data>p2->data) { tmp= (3) p2=tmp; }else p1=p1->next; } if (p2!=null) }
浙 江 理 工 大 学
2018 年硕士研究生招生考试初试试题
考试科目:数据结构与数据库技术 代码:938 (请考生在答题纸上答题,在此试题纸上答题无效)
第一部分:数据结构(本部分共 90 分)
一、单项选择题(每小题 3 分,本题共 36 分)
1. 下列程序段所代表的算法的时间复杂度为 i=1; while(i<=n) i*=2; (A)O(n) (B)O(n )
5. 在一个栈顶指针为 HS 的链栈中插入一个*s 结点时,应执行的操作为 (A)HS->next=s;s->next=HS->next; (C)s->next=HS; HS=s; (B)s->next=HS->next; HS->next=s; (D)s->next=HS; HS=HS>next;
Hale Waihona Puke 12. 已知一组记录的关键字值为{46,74,18,53,14,20,40,38,86}, 按快速排序方法对 该序列进行一趟排序后的结果是 。 (A){38,14,18,20,40,46,53,74,86} (C){14,20,40,38,18,46,74,53,86} (B){38,40,18,20,14,46,53,74,86} (D){18,14,20,40,38,46,74,53,86}
12浙江理工数据结构试题
浙 江 理 工 大 学二O一二年硕士学位研究生招生入学考试试题考试科目:数据结构 代码:991 (请考生在答题纸上答题,在此试题纸上答题无效)一、单选题(每题2分,共20分)1. 不带头结点的单链表simpleList为空的判定条件是。
A. simpleList == nullB. simpleList->next == nullC. simpleList->next = simpleListD. simpleList! = null2. 某线性表最常用的操作是在最后一个结点之后插入一个结点或删除第一个结点,故采用_______________存储方式最节省运算时间。
A. 单链表B. 仅有头结点的单循环链表C. 双链表D. 仅有尾指针的单循环链表3. 向一个栈顶指针为top的链栈中插入一个S所指结点时,则执行_______________________。
A. top->next = S;B. S->next = top->next; top->next = S;C. S->next = top; top = S;D. S->next = top; top = top->next;4. 一维数组和线性表的区别是_____________。
A. 前者长度固定,后者长度可变B. 后者长度固定,前者长度可变C. 两者长度均固定D. 两者长度均可变5. 设矩阵A是一个对称矩阵,为了节省存储,将其下三角部分按行序存放在一维数组B[1, n(n-1)/2]中,对任一下三角部分中任一元素a ij(),在一组数组B的下标位置K的值是______。
A. i(i-1)/2+j-1B. i(i-1)/2+jC. i(i+1)/2+j-1D. i(i+1)/2+j6.在线索化二叉树中,P所指的结点没有左子树的充要条件是_______________________。
数据结构考试试题库含答案解析
数据结构习题集含答案目录目录 (1)选择题 (2)第一章绪论. (2)第二章线性表. (4)第三章栈和队列. (6)第四章串. (7)第五章数组和广义表 (8)第六章树和二叉树 (8)第七章图. (11)第八章查找. (13)第九章排序. (14)简答题 (19)第一章绪论. (19)第二章线性表. (24)第三章栈和队列. (26)第四章串. (28)第五章数组和广义表 (29)第六章树和二叉树 (31)第七章图. (36)第八章查找. (38)第九章排序. (39)编程题 (41)第一章绪论. (41)第二章线性表. (41)第三章栈和队列. (52)第四章串. (52)第五章数组和广义表 (52)第六章树和二叉树 (52)第七章图. (52)第八章查找. (52)第九章排序. (57)选择题第一章绪论1. 数据结构这门学科是针对什么问题而产生的?( A )A、针对非数值计算的程序设计问题 B 、针对数值计算的程序设计问题C、数值计算与非数值计算的问题都针对D、两者都不针对2. 数据结构这门学科的研究内容下面选项最准确的是( D )A、研究数据对象和数据之间的关系 B 、研究数据对象C、研究数据对象和数据的操作D、研究数据对象、数据之间的关系和操作3. 某班级的学生成绩表中查得张三同学的各科成绩记录,其中数据结构考了90分,那么下面关于数据对象、数据元素、数据项描述正确的是( C )A、某班级的学生成绩表是数据元素,90 分是数据项B、某班级的学生成绩表是数据对象,90 分是数据元素C、某班级的学生成绩表是数据对象,90 分是数据项D、某班级的学生成绩表是数据元素,90 分是数据元素4. *数据结构是指(A )。
A、数据元素的组织形式B、数据类型C、数据存储结构D、数据定义5. 数据在计算机存储器内表示时,物理地址与逻辑地址不相同,称之为(C )。
A、存储结构B、逻辑结构C、链式存储结构D、顺序存储结构6. 算法分析的目的是( C )A、找出数据的合理性B、研究算法中的输入和输出关系C、分析算法效率以求改进D、分析算法的易懂性和文档型性7. 算法分析的主要方法( A )。
浙江理工大学数据结构与数据库技术2010真题
浙江理工大学二O一O年硕士学位研究生招生入学考试试题考试科目:数据结构与数据库技术代码:938 (*请考生在答题纸上答题,在此试题纸上答题无效)第一部分:数据结构(本部分共90分)一、程序设计题1. 假设以带头节点的循环链表表示队列,并且只设一个队尾指针rear,不设队首指针,试编写相应的入队列和出队列一个结点的算法。
(20分)2.一颗树的根其层次定义为0。
任何其它结点的层次定义为比它的双亲的层次大1。
树的深度是层次最大的结点的层次。
一颗树的内部路径长度是该树中边的总数。
已知二叉树的根结点为t,其二叉链表结构定义如下:typedef struct node {char data;struct node *lch,*rch;int level;} tnode ;这里,data为结点的名称,lch为其左孩子,rch为其右孩子,level为结点的层次。
试编写非递归程序算法,输出这颗树的深度和内部路径长度。
(25分)3.已知哈希(Hash)函数H(k)=k%p(k为线性表的关键字),用开放地址法处理冲突,其中:d1=H(k),d i=( d i-1+m)%p (i=2,3,,…);试编写程序算法,在H[0~p-1]的散列地址空间中,对关键字序列a[0],a[1],…,a[p-1]构造哈希表(假设每个关键字最终都能找到地址),并计算输出在等概率情况下查找成功的平均查找长度。
(20分)4.已知单链表结构如下所示。
头指针为head,关键字域为key。
试编写程序构造一个单链表,将串s中的每个字符存放到单链表中去(每个结点存放一个字符),同时在已有的单链表基础上,编写程序采用直接插入排序算法将单链表中的各个结点按字符值大小进行升序排序。
(25分)typedef struct node {char key;struct node *next;} lnode;第二部分:数据库技术(本部分共60分)二、解答题(下列各题中任选6小题解答,每小题10分,按得分最多的6小题计算分数,本题得分最多不超过60分)数据库Sales用来存放某企业销售数据,它有4张表,表Products用来存放产品信息(其中合计销售额amount是未知的);表Customers用来存放客户信息;表Orders用来存放订单总体信息;OrderDetails用来存放订单明细信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浙江理工大学
2013年硕士学位研究生招生入学考试试题
考试科目:数据结构代码:991
(请考生在答题纸上答题,在此试题纸上答题无效)
一、单选题(在每小题的四个备选答案中选出一个正确答案。
每小题2分,共20分。
)
1.链表不具备的特点是______。
A. 可随机访问任一结点
B. 插入删除不需要移动元素
C. 不必事先估计存储空间
D. 所需空间与其长度成正比
2.设线性表有n个元素,以下算法中,在顺序表上实现比在链表上实现效率更高。
A. 交换第0个元素与第1个元素的值
B. 顺序输出这n个元素的值
C. 输出第i(0≤i≤n-1)个元素值
D. 输出与给定值x相等的元素在线性表中的序号
3.设输入序列为a、b、c、d,则借助栈所得到的输出序列不可能是_________。
A. a、b、c、d
B. d、c、b、a
C. a、c、d、b
D. d、a、b、c
4.为解决计算机主机与打印机之间的速度不匹配问题,通常设计一个打印数据缓冲区,主机将要
输出的数据依次写入到该缓冲区,而打印机则依次从该缓冲区中取出数据。
该缓冲区的逻辑结构应该是。
A. 栈
B. 队列
C. 树
D. 图
5.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有
个空指针域。
A. 2m
B. 4m
C. 2m+1
D. 2m -1
6.二叉树若用顺序存储结构表示,则下列四种运算中最容易实现。
A. 先序遍历二叉树
B. 层次遍历二叉树
C. 中序遍历二叉树
D. 后序遍历二叉树
7.以下关于有向图的说法正确的是。
A. 强连通图是任何顶点到其他所有顶点都有边
B. 完全有向图一定是强连通图
C. 有向图中某顶点的入度等于出度
D. 有向图边集的子集和顶点集的子集可构成原有向图的子图
8.若一个有向图中的顶点不能排成一个拓扑结构序列,则可断定该有向图____________。
A. 含有多个出度为0的顶点
B. 是个强连通图
C. 含有多个入度为0的顶点
D. 含有顶点数目大于1的强连通分量
9.顺序查找法适合于存储结构为的线性表。
A. 哈希存储
B. 压缩存储
C. 顺序存储或链式存储
D. 索引存储
10.在所有排序方法中,关键字比较的次数与记录地初始排列次序无关的是。
A. shell排序
B.冒泡排序
C. 直接插入排序
D. 简单选择排序
二、填空题(每空2分,共30分。
)
1.下面程序段的时间复杂度是。
for (i=0;i<n;i++)
for (j=0;j<m;j++)
A[i][j]=0;
2.向一个不带头节点的栈指针为lst的链式栈中插入一个*s所指节点时,则执行和。
3.在二叉链表中判断某指针p 所指结点为叶子结点的条件是。
4.按遍历一棵二叉排序树所得到的结点访问序列是一个有序序列。
5.广义表A=((a,b,c,d),( ))的表尾是___。
6.有一个10阶对称矩阵A,采用压缩存储方式(以行序为主存储,且A[0][0]=1),则A[8][5]的地址是。
7.高度为h(>=0)的二叉树,至少有个结点,最多有个结点。
8.普里姆(PRIM)算法更适合于求边的网的最小生成树。
9.在无向图G的邻接矩阵A中,若A[i][j]等于1,则A[j][i]等于。
10.在对一组记录(54,38,96,23,15,72,60,45,83)进行直接插入排序时,当把第7个记录60插入到有序表时,为寻找插入位置需比较次。
11.若一组记录的排序码为(46, 79, 56, 38, 40, 84),则利用堆排序的方法建立的初始堆为。
12.有一个长度为10的有序表,按折半查找法对该表进行查找,在表内各元素等概率情况下查找成功所需的平均比较次数为。
13.在一棵平衡的二叉树中,每个节点的平衡因子B的取值范围是
三、判断题(每小题2分,共20分。
)
1.对于数据结构,相同的逻辑结构,对应的存储结构也必相同。
()
2.哈夫曼树中没有度数为1的结点。
()
3.线性表中的所有元素都有一个前驱元素和后继元素。
()
4.除了删除和插入操作外,数组的主要操作还有存取、修改、检索和排序。
()
5.链表的每一个结点都恰好包含一个指针。
()
6.无向图的邻接矩阵一定是对称矩阵,且有向图的邻接矩阵一定是非对称矩阵。
()
7.若有一个结点是某二叉树子树的中序遍历序列中的最后一个结点,则它必是该子树的前序遍历
序列中的最后一个结点。
()
8.冒泡排序在初始关键字序列为逆序的情况下执行的交换次数最多。
()
9.满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树。
()
10.快速排序是排序算法中平均性能最好的一种排序。
()
四、应用题(共50分。
)
1.(14分)已知一棵二叉树如右图所示:
(1) 中序全线索化二叉树;
(2) 写出对该二叉树进行先序遍历和后序遍历的结果;
(3) 试画出其相应的树。