2011_05_16_《数据结构》_考试试卷_A卷
- 格式:doc
- 大小:73.50 KB
- 文档页数:6
中国矿业大学2011-2012学年《数据结构》试卷(A卷)(考试时间:100分钟)一. 填空(每空2分,共40分)1. 数据结构式具有相同性质的数据元素的(1)。
2. 通常程序在调用另一个程序时,都需要使用一个(2)来保存被调用程序内分配的局部变量、形式参数的存储空间以及返回地址。
3. 有6行8列的二维数组A,每个元素用相邻的6个字节存储,存储器按字节编址,已知A的起始存储地址(基址)为1000,在行优先存储和列优先存贮情况下A[5,5]的存储地址分别为__(3)_____,_____(4)____。
4. 完全二叉树第4 个节点的父节点是第 (5) 节点,左孩子是第 (6) 个节点。
如果该二叉树有10层,则共有 (7) 个节点。
5. 请描述在循环队列Q中,队头和队尾指针分别由front和rear表示,该队列有10个存储空间,判断队空和队满的条件分别分:_____(8)________,_______(9)_________。
6. 字符串t=”child”,s=”cake”,请写出下列函数的结果:StrLength(t) =(10)__;Concat(SubString(s,3,1),SubString(t,2,2))=____(11)___。
7. 一棵二叉树为则后序序列为(12),中序序列为(13),先序序列为__(14)____。
8. 请用数据序列{53,17,12,66,58,70,87,25,56,60 }构造一棵二叉排序树_(15)_。
9.。
一个栈输入的序列式1,2,3,则可能的且以2为开头的输出序列是 (16) ,不可能的序列是____(17)____。
10. 有n个结点的无向完全图的边数分别为_______(18)_______。
11. 要从数据:2,3,4,8,9,11,13查找11,若采用折半查找法,则在(19)次比较后,才找到该数据。
12. 在直接插入排序、希尔排序、冒泡排序和快速排序中,平均情况下(20)_____最快。
2011-2012学年第一学期期末考试试题(A)卷课程名称《算法与数据结构》任课教师签名出题教师签名2011计算机合作联盟命题组审题教师签名考试方式(闭)卷适用专业10计科1-2考试时间(110 )分钟题号一二三四五六七总分得分评卷人(注:判断题和选择题的答案写在答题纸上)一、单项选择题(每小题2分,共30分)1.与数据元素本身的形式、内容、相对位置、个数无关的是数据的( )A.存储结构B.储存实现C.逻辑结构D.运算实现2. 已知指针p和q分别指向某单链表中第一个结点和最后一个结点。
假设指针s指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为( )A. q->next=s->next;s->next=p;B. s->next=p;q->next=s->next;C. p->next=s->next;s->next=q;D. s->next=q;p->next=s->next;3.队和栈的主要区别是( )A.逻辑结构不同B.存储结构不同C.所包含的运算个数不同D.限定插入和删除的位置不同4.已知广义表的表头为a,表尾为(b,c),则此广义表为( )A.(a,(b,c))B.(a,b,c)C.((a),b,c)D.((a,b,c)) 5. 二维数组A[10][6]采用行优先的存储方法,若每个元素占4个存储单元,已知元素A[3][4]的存储地址为1000,则元素A[4][3]的存储地址为( )A. 1020B. 1024C. 1036D. 12406. 用二叉链表表示具有n个结点的二叉树时,值为空的指针域的个数为( )A. n-1B. n+lC. nD. 2n7.二叉树中第5层上的结点个数最多为( )A.8B.16C.15D.328.一棵完全二叉树上有1001个结点,其中叶子结点的个数是( )A. 250 B.500 C. 254 D.5019. 若非连通...无向图G含有21条边,则G的顶点个数至少为( )A. 7B. 8C. 21D. 2210. 若采用邻接矩阵法存储一个n个顶点的无向图,则该邻接矩阵是一个( )。
石家庄学院《数据结构》期末考试试卷(A 卷)题目部分,(卷面共有135题,100分,各大题标有题量和总分)一、应用题(4小题,共8分)1.试列出下图全部可能的拓扑排序序列2.在实现快速排序的非递归算法时,可根据基准对象,将待排序排序码序列划分为两个子序列。
若下一趟首先对较短的子序列进行排序,试证明在此做法下,快速排序所需要的栈的深度为O(log2n)。
3.设有上三角矩阵(aij)n*n ,将其上三角中的元素按先行后列的顺序存于数组B (1:m )中,使得B[k]= aij 且k=f1(i)+f2(j)+c ,请推导出函数f1,f2和常数c ,要求f1和f2中不含常数项。
4.用三元数组表示稀疏矩阵的转置矩阵,并简要写出解题步骤。
二、判断正误(20小题,共10分)1.散列表的结点中包含数据元素自身的信息,不包含任何指针。
(F)2.负载因子(装填因子)是散列表的一个重要参数,它反映敞列表的装满程度。
( T )3.一个图的广度优先搜索树是唯一的。
( F )4.外排序过程主要分为两个阶段:生成初始归并段和对归并段进行逐趟归并的阶段。
( T ) 5.在完成外排序过程中,每个记录的I/O 次数必定相等。
( F )6.为提高在外排序过程中,对长度为N 的初始序列进行“置换—选择”排序时,可以得到的最大初始有序段的长度不超过N/2。
( F )7.在外部排序时,利用选择树方法在能容纳m 个记录的内存缓冲区中产生的初始归并段的平均长度为2m 个记录。
( T )8.堆排序是稳定的排序方法。
( F )9.循环队列通常用指针来实现队列的头尾相接。
( F ) 10.有n 个数顺序(依次)进栈,出栈序列有c n 种,即:21(2)!1(!)n n C n n =⨯+。
( T ) 11.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
( F )12.完全二叉树的某结点若无左孩子,则它必是叶结点。
( T ) 13.深度为K 的二叉树中结点总数≤2k-1。
《数据结构》题库及答案一、选择题1.线性表的顺序存储结构是一种 的存储结构,线性表的链式存储结构是一种 的存储结构。
a. 随机存储;b.顺序存储;c. 索引存取;d. HASH 存取2.一个栈的入栈序列是a,b,c,d,e ,则栈的不可能的输出序列是 。
a. edcba;b. decba;c. dceab;d.abcde3.一个队列的入队序列是1,2,3,4,则队列的输出序列是 。
a. 4,3,2,1;b. 1,2,3,4;c. 1,4,3,2;d.3,2,4,14.在一个单链表中,已知p 结点是q 结点的直接前驱结点,若在p 和q 之间插入结点s ,则执行的操作是 。
a. s->nxet=p->next; p->next=s;b. p->next=s->next; s->next=p;c. q->next=s; s->next=p;d. p->next=s; s->next=q;5.设有两个串p,q ,求q 在p 中首次出现的位置的运算称作 。
a.联接b.模式匹配c.求子串d.求串长6.二维数组M 的成员是6个字符(每个字符占一个存储单元)组成的串,行下标i 的范围从0到8,列下标j 的范围从1到10,则存放M 至少需要 个字节。
a. 90b.180c.240d.540 7.在线索二叉树中,结点p 没有左子树的充要条件是 。
a. p->lch==NULLb. p->ltag==1c. p->ltag==1且p->lch=NULLd. 以上都不对8.在栈操作中,输入序列为(A ,B ,C ,D ),不可能得到的输出序列为:______A 、(A ,B ,C ,D ) B 、(D ,C ,B ,A ) C 、(A ,C ,D ,B ) D 、(C ,A ,B ,D )9.已知某二叉树的后序序列是dabec ,中序序列是debac ,则它的先序序列是 。
2021年云南昆明理工大学数据构造教程考研真题A卷一、单项选择题:〔每题3分,共30分〕1.在数据构造中,从逻辑上可以把数据构造分为______两类。
A:动态构造和静态构造B:紧凑构造和非紧凑构造C:线性构造和非线性构造D:内部构造和外部构造2.数据采用链式存储构造时,要求_________。
A:每个结点占用一片连续的存储区域B:所有结点占用一片连续的存储区域C:结点的最后一个数据域是指针类型D:每个结点有多少个后继,就没多少个指针域3.某算法的时间复杂度为O〔2n〕,说明该算法的_________。
A:问题规模是2n B:执行时间等于2nC:执行时间与2n成正比 D:问题规模与2n成正比4. 在一个长度为n的顺序表中向第i个元素〔0<i<=n+1〕之前插入一个新元素时,需要向后移动________个元素。
A: n-1 B: n-i+1 C: n-i-1 D: i5. 在单链表中,假设*P结点不是末尾结点,在其后插入*S结点的操作是____。
A:s—>next=p; p—>next=s; B: s—>next=p—>next; p—>next=s;C:s—>next=p—>next; p=s; D: p—>next=s; s—>next=p;6.设一个栈的输入序列为A,B,C,D,那么借助栈所得到的输出序列不可能是。
A:A,B,C,D B:D,C,B,A C:A,C,D,B D:D,A,B,C7.一个n×n的对称矩阵,如果以行或列为主序放入内存,那么存储容量为______。
A:n2 B:n2/2 C:n(n+1)/2 D:(n+1)2 /28. 一棵有124个叶结点的完全二叉树,最多有______个结点。
A:247 B:248 C:249 D:2509. 采用邻接表存储的图的深度优先遍历算法类似于二叉树的______算法。
生答题不得过此线··密····························封·························线···························· 院系 专业年级 班级 姓名 学号··················装····························订·························线···························· 一、选择填空题(每题只有1个正确答案,每题1分,共20分)1.从逻辑上可以把数据结构分为( )两大类。
11、具有12个关键字的有序表,折半查找的平均查找长度为()。
A.3.1 B.4 C.2.5 D.512、对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为()。
A.(N+1)/2 B.N/2 C.N D.[(1+N)×N ]/213、在下列排序算法中,()算法的时间复杂度与初始排序无关。
A.直接插入排序B.冒泡排序C.快速排序D.直接选择排序14、对序列{15,9,7,8,20,-1,4}进行排序,进行一趟后数据的排列变为{4,9,-1,8,20,7,15},则采用的是()排序。
A.选择B.快速C.希尔D.冒泡15、有一组数据(15,9,7,8,20,-1,7,4),用堆排序的筛选方法建立的初始堆为()。
A.-1,4,8,9,20,7,15,7 B.-1,7,15,7,4,8,20,9C.-1,4,7,8,20,15,7,9 D.A,B,C均不对二、判断题(每空1分,共10分)1、健壮的算法不会因非法的输入数据而出现莫名其妙的状态。
()2、线性表的特点是每个元素都有一个前驱和一个后继。
()3、即使对不含相同元素的同一输入序列进行两组不同的合法的入栈和出栈组合操作,所得的输出序列也一定相同。
()4、循环队列也存在空间溢出问题。
()5、一个稀疏矩阵A m*n采用三元组形式表示,若把三元组中有关行下标与列下标的值互换,并把m和n的值互换,就完成了A m*n的转置运算。
()6、对一棵二叉树进行层次遍历时,应借助于一个栈。
()7、在任意一棵非空二叉排序树,删除某结点后又将其插入,则所得二叉排序树与删除前原二叉排序树相同。
()8、一个有向图的邻接表和逆邻接表中结点的个数可能不等。
()9、当改变网上某一关键路径上任一关键活动后,必将产生不同的关键路径。
()10、在9阶B-树中,除叶子以外的任意结点的分支数介于5和9之间。
()三、填空题(每空1分,共10分)1、数据结构中评价算法的两个重要指标是_______。
数据结构试卷(一)一、选择题(20分)1.组成数据的基本单位是( 1.C )。
(A)数据项(B)数据类型(C) 数据元素(D)数据变量2.设数据结构A=(D,R),其中D={1,2,3,4},R={r},r={〈1,2〉,<2,3>,〈3,4>,〈4,1〉},则数据结构A是( C ).(A)线性结构(B)树型结构 (C)图型结构(D)集合3.数组的逻辑结构不同于下列(D)的逻辑结构.(A)线性表(B)栈(C) 队列(D)树4.二叉树中第i(i≥1)层上的结点数最多有(C)个。
(A) 2i (B) 2i(C) 2i—1(D) 2i-15.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为(.A ).(A) p-〉next=p—>next—〉next (B) p=p—〉next(C)p=p-〉next-〉next (D)p—〉next=p6.设栈S和队列Q的初始状态为空,元素E1、E2、E3、E4、E5和E6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S的容量至少应该是(。
C ).(A) 6 (B) 4 (C) 3 (D) 27.将10阶对称矩阵压缩存储到一维数组A中,则数组A的长度最少为(C ).(A) 100 (B) 40 (C) 55 (D) 808.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为(8。
B(A) 3 (B) 4 (C) 5 (D) 19.根据二叉树的定义可知二叉树共有( B)种不同的形态。
(A) 4 (B) 5 (C) 6 (D) 710.设有以下四种排序方法,则( B )的空间复杂度最大.(A)冒泡排序(B) 快速排序(C)堆排序(D) 希尔排序二、填空题(30分)1.设顺序循环队列Q[0:m-1]的队头指针和队尾指针分别为F和R,其中队头指针F指向当前队头元素的前一个位置,队尾指针R指向当前队尾元素所在的位置,则出队列的语句为 F =____________;.2.设线性表中有n个数据元素,则在顺序存储结构上实现顺序查找的平均时间复杂度为___________,在链式存储结构上实现顺序查找的平均时间复杂度为___________。
三、程序填空题(本题共、链式表表示和实现线性表的部分程序如下,请在程序空白处填上适当的语句://线性表的单链表存储结构typedef struct LNode{线 订 装数据结构与算法A卷答案一、选择题:(本题共20小题,每题2分,共40分)1-5:CA、DBCC 6-10:BDDAB 11-15:AABBA 16-20:CCCBC二、分析运算题(本题共5小题,每题6分,共30 分)1、解答:(1)选链式存储结构。
它可以动态申请内存空间,不受表长度(即表中元素个数)的影响,插入、删除的时间复杂性为O(1);(2)选顺序存储结构。
顺序表可以随机存取,时间复杂性为O(1)。
2.CBADECBAEDCBEDACBDAECBDEA每对一个得1分,全对得6分,写错一个倒扣1分。
3.(3分)先序遍历序列:+-A/×BCD/EF (3分)4.(3分)后序遍历序列为:BHECIGFA D (3分)(1)(2分)(2)(2分)(3)(2分)三、程序填空题(本题共10空,每空2分,共20分)(1)p = L(2)p->next(3)p->next=q->next(4)free(q)(5)NULL或=NULL(6)printf(“%c”,BT->data)(7)Inorder(BT->right)(8) Push(S, exp[i]) 或 Push(S,‘(’)(9) GetTop(S)= ='('(10) Pop(S,e)四、算法设计题(本题共1小题,共10分)1、(10分)算法如下:答:void quickpass(sqlist r){int i=0; j=r.length-1; x=r.elem[0];while(i<j){while(i<j && r.elem[j]>x) j=j-1;if(i<j){r.elem[i]=r.elem[j];i=i+1;} while(i<j && r.elem[i]<x) i=i+1;if(i<j){r.elem[j]=r.elem[i];j=j-1;} }r.elem[i]=x;}。
accesses.(C) Eliminate the recursive calls. (D) Reduce main memory use.(7) Given an array as A[m] [n]. Supposed that A [0] [0] is located at 644(10) and A [2][2] is stored at 676(10), and every element occupies one space. “(10)” means that thenumber is presented in decimals. Then the element A [1] [1](10) is at position:( D)(A) 692 (B) 695 (C) 650 (D) 660(8) If there is 1MB working memory, 4KB blocks, and yield 128 blocks for workingmemory. By the multi-way merge in external sorting, the average run size and the sorted size in one pass of multi-way merge on average are separately ( C)?(A) 1MB, 128 MB (B) 2MB, 512MB(C) 2MB, 256MB (D) 1MB, 256MB(9) In the following sorting algorithms, which is the best one to find the first 10biggest elements in the 1000 unsorted elements? ( B )(A) Quick-sort (B) Heap sort(C ) Insertion sort (D) Replacement selection(10) Assume that we have eight records, with key values A to H, and that they areinitially placed in alphabetical order. Now, consider the result of applying the following access pattern: F D F G E G F A D F G E if the list is organized by the Move-to-front heuristic, then the final list will be ( B).(A)F G D E A B C H (B) E G F D A B C H(C) A B F D G E C H (D) E G F A C B D H2. Fill the blank with correct C++ codes: (16 scores)(1)Given an array storing integers ordered by distinct value without duplicate, modify the binarysearch routines to return the position of the integer with the greatest value less than K when K itself does not appear in the array. Return ERROR if the lest value in the array is greater than K:(10 scores)// Return position of greatest element < Kint newbinary(int array[], int n, int K) {int l = -1;int r = n; // l and r beyond array boundswhile (l+1 != r) { // Stop when l and r meet___ int i=(l+r)/2_____;// Look at middle of subarrayif (K < array[i]) __ r=i ___; // In left halfif (K == array[i]) return i ; // Found itif (K > array[i]) ___ l=i ___ // In right half}// K is not in array or the greatest value is less than Kif K> array[0] (or l!= -1)// the lest value in the array is greater than K with l updated return l ; // when K itself does not appear in the arrayelse return ERROR; // the integer with the lest value greater than K}(2) The number of nodes in a complete binary tree as big as possible with height h is 2h -1(suppose 1-node tree ’s height is 1) (3 scores)(3) The number of different shapes of binary trees with 6 nodes is _132. (3 scores)3. A certain binary tree has the post-order enumeration as EDCBIHJGFA and the in-order enumeration as EBDCAFIHGJ. Try to draw the binary tree and give the postorder enumeration. (The process of your solution is required!!!) (6 scores)preorder enumeration: ABECDFGHIJ4. Determine Θ for the following code fragments in the average case. Assume that all variables are of type int. (6 scores) (1) sum=0;for (i=0; i<5; i++) for (j=0; j<n; j++)sum++; solution : Θ___(n)_______(2) sum = 0;for(i=1;i<=n;i++) for(j=n;j>=i;j--)sum++; solution : Θ__(n 2)________(3) sum=0;if (EVEN(n))for (i=0; i<n; i++) sum++; elsesum=sum+n; solution : Θ___(n)_____5. Show the min-heap that results from running buildheap on the following values stored in an array: 4, 2, 5, 8, 3, 6, 10, 14. (6 scores)6. Design an algorithm to transfer the score report from 100-point to 5-point , the level E corresponding score<60, 60~69 being D, 70~79 being C, 80~89 as B ,score>=90 as A. The distribution table is as following. Please describe your algorithm using a decision tree and give the total path length. (9 scores)Score in 100-point 0-59 60-69 70-79 80-89 90-100 Distribution rate5%10%45%35%5%solution:the design logic is to build a Huffman treeTotal length: 4 * 10% +10% * 3 + 15 %* 3 + 35% * 2 + 45% = 2.25, the 0-false,1-true as thelogic branches.7. Assume a disk drive is configured as follows. The total storage is approximately 675M divided among 15 surfaces. Each surface has 612 tracks; there are 144 sectors/track, 512 byte/sector, and 16 sectors/cluster. The interleaving factor is 3. The disk turns at 7200rmp (8.3ms/r). The track-to-track seek time is 20 ms, and the average seek time is 80 ms. Now how long does it take to read all of the data in a 360 KB file on the disk? Assume that the file ’s clusters are spread randomly across the disk. A seek must be performed each time the I/O reader moves to a new track. Show your calculations. (The process of your solution is required!!!) (9 scores) Solution :A cluster holds 16*0.5K = 8K. Thus, the file requires 360/8=45clusters.The time to read a cluster is seek time to the cluster+ latency time + (interleaf factor × rotation time).Average seek time is defined to be 80 ms. Latency time is 0.5 *8.3, and cluster rotation time is 3 * (16/144)*8.3.Seek time for the total file read time is 45* (80 + 0.5 * 8.3+ 3 * (16/144)*8.3 ) = 3911.258. Using closed hashing, with double hashing to resolve collisions, insert the following keys into a hash table of eleven slots (the slots are numbered 0 through 10). The hash functions to be used are H1 and H2, defined below. You should show the hash table after all eight keys have been inserted. Be sure to indicate how you areusing H1 and H2 to do the hashing. ( The process of your solution is required!!!) H1(k) = 3k mod 11 H2(k) = 7k mod 10+1Keys: 22, 41, 53, 46, 30, 13, 1, 67.(9 scores)Solution :H1(22)=0, H1(41)=2, H1(53)=5, H1(46)=6, no conflictWhen H1(30)=2, H2(30)=1 (2+1*1)%11=3,so 30 enters the 3rd slot; H1(13)=6, H2(13)=2 (6+1*2)%11=8, so 13 enters the 8th slot;H1(1)=3, H2(1)=8 (3+5*8)%11= 10 so 1 enters 10 (pass by 0, 8, 5, 2 );9. You are given a series of records whose keys are chars. The records arrive in the following order: C, S, D, T, A, M, P, I, B, W, N, G , U, R. Show the 2-3 tree that results from inserting these records. (the process of your solution is required!!!) (9 scores) Solution :MSBD PU A C GI N R T W 10.The following graph is a communication network in some area, whose edge presents the channel between two cities with the weight as the channel ’s cost. How to choose the cheapest path that can connect all cities? And how to get cheapest paths scores)Solution :1,C to A: 4 (C,A); CF: 5(C,F); CD: 6(C,A,D); CB: 12(C,A,D,B); CG:11 (C,F,G); CE: 13(C,A,D,B,E)2. Draw the MST: It is a Hamilton path.。
武夷学院期末考试试卷( 09级计算机科学与技术专业2010 ~2011 学年度第 1 学期) 课程名称 数据结构 A 卷 考试形式 闭卷 考核类型 考试 本试卷共 五 大题,卷面满分100分,答题时间120分钟。
一、选择题:(本大题共10小题,每小题2分,共20分)1. 某内排序方法的稳定性是指( )。
A .该排序算法不允许有相同的关键字记录 B .该排序算法允许有相同的关键字记录 C .平均时间为0(n log n )的排序方法 D .以上都不对2.下面程序段的时间复杂度为( )。
for(i=2;i<=n;++I) for(j=2;j<=i-1;++j) {++x;a[i ,j]=x;}A.O (1)B.O (log 2n )C.O (n )D.O (n 2)3.非空的循环单链表head 的尾结点p 满足( )。
A.p->next=head ;B. p->next=NULL ;C.p =NULL ;D. p->next->next =head ;4.设栈s 和队列Q 的初始状态为空, 元素b 1 ,b 2, ,b 3 , b 4 , b 5 和b 6 依次通过栈S ,一个元素出栈后即进队列Q ,若6个元素出队的序列是b 2 ,b 4 ,b 3 ,b 6 ,b 5 ,b 1 ,,则栈S的容量至少应该是()。
A. 3B. 4C. 5D.其它5.表头和表尾均为空表的广义表是()。
A.()B.(())C.((()))D.((),())6.下列二叉排序树中,满足平衡二叉树定义的是()。
A . B. C. D.7.二维数组A的成员是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从1到8,列下标j的范围从1到10,若A按行优先方式存储,起始地址为SA,那么元素A[8][5]的起始地址为()。
A.SA+292 B.SA+296 C.SA+300 D.SA+3048.当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度()。
数据结构试题和答案A卷一、填空题(共8 小题,每空 1 分,共计20 分)1.栈和队列都是_线性_结构;对于栈只能在_栈顶_插入和删除元素;对于队列只能在_队尾_插入元素和在_队头_删除元素。
2.一个广义表中的元素分为单元素和表元素两类。
3.对于一个长度为n的顺序存储的线形表,在表头插入元素的时间复杂度为__ O(n)_______,在表尾插入元素的时间复杂度为____ O(1)_______。
5.在一棵具有n个结点的二叉树中,所有结点的空子树个数等于 n+1 。
6.若一个图的顶点集为{a,b,c,d,e,f},边集为{(a,b),(a,c),(b,c),(d,e)},则该图含有___3____个连通分量。
7.在进行直接插入排序时,其数据比较次数与数据的初始排列__有___关;而在进行直接选择排序时,其数据比较次数与数据的初始排列__无___关。
8.若对关键字序列(43,02,80,48,26,57,15,73,21,24,66)进行一趟增量为3的希尔排序,则得到的结果为(15,02,21,24,26,57,43,66,80,48,73)。
9. 在有序表(12,24,36,48,60,72,84)中折半查找关键字72时所需进行的关键字比较次数为__2___。
10.在线形表的散列存储中,处理冲突有开放定址法和链地址法两种方法。
11.已知一棵度为3的树有2个度为1的结点,3个度为2的结点,4个度为3的结点,则该树中有______12______ 个叶子的结点。
12.设二叉树结点的先根序列为ABDECFGH,中根序列为DEBAFCHG,则二叉树中叶子结点是_ E,F,H ___。
13.若由3,6,8,12,10作为叶子结点的值生成一棵哈夫曼树,则该树的高度为 4 ,带权路径长度为 87 。
二、选择题(共15小题,每题 1 分,共计15 分)1.算法指的是( D )A.计算机程序 B.解决问题的计算方法C.排序算法 D.解决问题的有限运算序列2.如下陈述中正确的是(A )A.串是一种特殊的线性表B.串的长度必须大于零C.串中元素只能是字母D.空串就是空白串3.若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( B )A.3,2,6,1,4,5 B.3,4,2,1,6,5C.1,2,5,3,4,6 D.5,6,4,2,3,14.在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行( B ) A. s->next=p;p->next=s B. s->next=p->next;p->next=sC. s->next=p->next;p=s D. p->next=s;s->next=p5.在按层次遍历二叉树的算法中,需要借助的辅助数据结构是(A)A.队列B.栈C.线性表D.有序表6.图的邻接矩阵表示法适用于表示(C)A.无向图B.有向图C.稠密图D.稀疏图7.深度为5的二叉树其结点数最多为 C 。
专科《数据结构》一、(共75题,共150分)1。
数据的逻辑结构在计算机内部存储表示称为为数据的()。
(2分)A.数据结构B.逻辑关系C.物理结构 D。
数据元素的内部结构.标准答案:C2. ()是数据的不可分割的最小单位。
(2分)A.数据对象 B。
数据元素 C.数据类型 D.数据项。
标准答案:D3. 算法的时间复杂度是对算法()的度量. (2分)A.时间效率 B。
空间效率 C。
可读性 D.健壮性.标准答案:A4. ()是限制了插入和删除操作在一端进行的线性表。
(2分)A.栈B.队列 C。
串 D。
数组。
标准答案:A5. 数组通常采用顺序存储的优点是()。
(2分)A.便于增加存储空间 B。
便于依据下标进行随机存取C。
避免数据元素的移动 D。
防止下标溢出。
标准答案:B6. 采用带头结点双向链表存储的线性表,在插入一个元素时,需要修改指针()次。
(2分)A。
1 B.2 C。
3 D。
4.标准答案:D7。
线性表的顺序存储结构是一种()的存储结构。
(2分)A.顺序存取B.随机存取 C。
索引存取 D.Hash存取.标准答案:B8. 数组a[1.。
256]采用顺序存储,a的首地址为10,每个元素占2字节,则a [21]的地址是()。
(2分)A。
10 B.30 C.50 D。
70.标准答案:C 9。
深度为4的二叉树,第4层至少有()个结点。
(2分)A。
0 B。
1 C.8 D。
15.标准答案:B10。
若二叉树对应的二叉链表共有11个非空链域,则该二叉树有()个结点的二叉树。
(2分)A.10B.11C.20D.21.标准答案:A11. 下面叙述错误的是()。
(2分)A。
借助于队列可以实现对二叉树的层遍历B。
栈的特点是先进后出C。
对于单链表进行插入操作过程中不会发生上溢现象D.在无向图的邻接矩阵中每行1的个数等于对应的顶点度.标准答案:C12。
以下与数据的存储结构无关的术语是()。
(2分)A。
循环队列 B.双向链表 C。
《数据结构》试题(A卷)(考试时间: 90分钟)一、单项选择题(本大题共15小题,每小题2分,共30分)(每题只有一个选项是正确的,将答案填写在括号内,错选、多选不得分)1.()是组成数据的基本单位,是一个数据整体中相对独立的单元。
A.数据 B.数据元素 C.数据对象 D.数据结构2.算法计算量的大小称为算法的()。
A.效率?????B.复杂度C.数据元素之间的关系??? ?D.数据的存储方法3.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入或删除运算,则采用以下()方式最节省时间。
A.链式存储B. 索引存储C.顺序存储D.散列存储4.下述哪一条是顺序存储结构的优点?()A.存储密度大?B.插入运算方便?C.删除运算方便?D.可方便地用于各种逻辑结构的存储表示5.在一个单链表中,若删除p所指结点的后续结点,则执行()。
A.p->next=p->next->nextB.p->next=p->nextC.p=p->next;p->next=p->next->nextD.p=p->next->next6.带头结点的单链表head为空的判定条件是()。
A.head==NULLB.head->next==NULLC.head->next==headD.head!==NULL7.非空的循环单链表head的尾结点(由p所指向)满足()。
A.p->head==NULLB.p==NULLC.p->next==headD.p==head8.下面关于线性表的叙述中,错误的是哪一个?()A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链式存储,不必占用一片连续的存储单元。
D.线性表采用链式存储,便于插入和删除操作。
9.队列操作的原则是()。
A.后进先出B.先进先出C.只能进行插入D.只能进行删除10.栈中允许进行插入和删除的一端称为()。
数据结构A卷以及答案-考试⽤华东交通⼤学2012—2013学年第⼀学期考试卷试卷编号:(A )卷数据结构课程课程类别:必考⽣注意事项:1、本试卷共5页,总分100分,考试时间120分钟。
2、考试结束后,考⽣不得将试卷、答题纸和草稿纸带出考场。
⼀、选择题(每题2分,共20分)1、在⼀个链队列中,若f ,r 分别为队⾸、队尾指针,则插⼊s 所指结点的操作为( )(A) f->next=c ;f=s (B) r->next=s ;r=s (C) s->next=r ;r=s (D) s->next=f ;f=s 2、下⾯程序的时间复杂度为()for(i=0;ifor(j=0;jA[i][j]=i*j;(A) O(M2) (B) O(N2) (C) O(M*N) (D) O(M+N)3、设⾼度为h 的⼆叉树上只有度为0和度为2的结点,则此类⼆叉树中所包含的结点数⾄少为: ( )(A) 2h (B) 2h-1 (C) 2h+1 (D) h+1 4、设指针变量p 指向单链表中结点A ,若删除单链表中结点A ,则需要修改指针的操作序列为()。
(A) q=p->next ;p->data=q->data ;p->next=q->next ;free(q); (B) q=p->next ;q->data=p->data ;p->next=q->next ;free(q); (C) q=p->next ;p->next=q->next ;free(q); (D) q=p->next ;p->data=q->data ;free(q);5、含N 个顶点的连通图中的任意⼀条简单路径,其长度不可能超过( )(A) 1(B) N/2 (C) N-1 (D)N6、设⼀组初始关键字记录关键字为(20,15,14,18,21,36,40,10),则以20为基准记录的⼀趟快速排序结束后的结果为( )。
安阳师范学院计信学院信管、计科专升本专业《数据结构》考试2012—2013学年下学期期末考试试卷A一单项选择题(本大题共20小题,每小题1分,共20分) 1.组成数据的基本单位是( c )A.数据项 B.数据类型 C .数据元素 D .数据变量2.下面程序段的时间复杂度为(a )。
for(i=1;i<=n;i++)for(j=i;j<=n;j++) s++; A .O(1)B .O(n)C .O(n )log 2n)D .O(n 2)3.在一个长度为n 的顺序存储线性表中,向第i 个元素(1≤i ≤n+1)之前插入一个新元素时,需向后移动( b )个元素。
A .n-iB .n-i+1C .n-i-1D .i4.设单链表中指针p 指向结点A ,若要删除A 后的结点且该结点存在,则需要修改指针的操作为( c )。
A .p->next=p->next->nextB .p=p->nextC .p=p->next->nextD .p->next=p5.若让元素1,2,3依次进栈,则出栈次序不可能出现(a )种情况。
A 、3,2,1B 、2,1,3C 、3,1,2D 、1,3,2 6.在一个循环顺序队列中,队首指针指向队首元素的( c )位置。
A 、当前B 、后面C 、前一个D 、后一个7.假定一个链队的队首和队尾指针分别为front 和rear ,则判断队空的条件是( d )。
A 、front==NULLB 、front!=NULLC 、rear!=NULLD 、front==rear8.二叉树第i(i ≥1)层最多有( b )个结点。
A .2iB . 2i-1C .2iD .2i -1 9.如果结点A 有3个兄弟,而且B 为A 的双亲,则B 是度为( a )A.4 B.3C .5D .1 10.当待排序序列的关键码是随机分布时,下列哪种排序算法的平均时间复杂度最优( c )。
2010~2011年第 二 学期
《数据结构与算法》课程考试试卷(A 卷) (闭卷)
院(系)___________专业班级________________学号________________ 姓名______________ 考试日期: 2011年5月16日 考试时间: 08:00-11:00
一. (共15分) 1.(5分) 列出C 语言基本数据类型, 并分别指出所占内存字节数。
2. (5分) 设有结构类型 struct A { int a ; float b ; char c [4 ]; A *next ; }; 定义变量 A x , *p; 试画出变量x 和p 的内存分配示意图。
3. (5分) 设结点类型为上述A, 编写一个结点申请和初始化函数, 函数原型为 void F1( A **p , int a , float b , char c [ ] ); 其中参数a , b , c 为结点对应变量所要赋的初值, 参数p 返回所申请结点的地址, 再编写main 函数以试验对函数 F1的调用。
二. (共20分) 1.(5分)什么是线性表? 线性表主要有哪几种存贮方式?
2. 设有结构类型struct A { char x; A *pre; A *next; };
(1)(5分)画出x分别取’a’, ‘b’, ‘c’, ‘x’的4个结点的带头结点的双向链表;
(5分) 设有一个x取值为’k’的结点, 画出该结点插入上述双向链表的示意图,且插入后仍保持字母顺序, 并写出相应指针修改的赋值语句序列。
(3) (5分) 设带头结点的单向链表的结点类型为上述A (pre不用), 头结点指针为head, 该单向
链表中各结点按字符x从小到大的顺序链接。
编写一个实现各结点中字符倒序的函数void Reverse ( A *head ),即使各结点中字符x按从大到小的顺序链接。
(写不下请写背面, 并注明)
三.(共20分) 1.(5分)什么是栈? 说明栈的重要性。
2.(5分) 设有C语言常量表达式“2*(9-5)*3-4*6/8+1”, 写出用栈计算这
一表达式值的各步过程。
3.(5分) 什么是循环队列?
4.(5分) 设循环队列用一个数组存放, 数组大小为N, 队列首为head,队列尾为tail,画出该队列的示意图, 给出队列为空和队列为满时的判断条件, 队尾添加一个元素时tail 如何修改? 取
走一个队首结点时head如何修改?
四.(共15分) 1.(5分) 编写C语言库中求字符串长度的函数 int
strlen( char s[]);
2.(5分) 设有三维数组 char A[1][2][3], 画出其内存分配示意图, 并写出元素A[i][j][k]存放在内存中的地址表达式。
3.(5分) 设有如下递归函数
int A( int a ){ if( a <= 0 ) return 1; return ( a + A( a – 2 ) ); }
给出 A(5)的递归调用过程及其值。
五.(共15分)1.(5分) 用图示形式举例说明:树、二叉树、完全二叉树。
2.(5分) 对如右上图所示二叉树, 分别给出DLR、LDR、LRD遍历序列。
给出从顶点E出发分别用广度和
深度优先算法的遍历结果。
六. (共15分) 1. (5分) 设数组 A中存放n个整数, 编写一个从小到大的
排序函数void Sort( int A[], int n ); (算法自选)
2. (5分) 设待排序的关键字序列为{ 7, 5, 8, 9, 1, 2}, 写出用堆实现从大到小排序的整个过程。
3. (5分) 什么是B_树?。