数据结构与算法-考试样卷

合集下载

数据结构与算法分析考试试题

数据结构与算法分析考试试题

数据结构与算法分析考试试题一、选择题(共 20 小题,每小题 3 分,共 60 分)1、在一个具有 n 个元素的顺序表中,查找一个元素的平均时间复杂度为()A O(n)B O(logn)C O(nlogn)D O(n²)2、以下数据结构中,哪一个不是线性结构()A 栈B 队列C 二叉树D 线性表3、一个栈的入栈序列是 1,2,3,4,5,则栈的不可能的出栈序列是()A 5,4,3,2,1B 4,5,3,2,1C 4,3,5,1,2D 1,2,3,4,54、若一棵二叉树的先序遍历序列为 ABCDEFG,中序遍历序列为CBDAEGF,则其后序遍历序列为()A CDBGFEAB CDBFGEAC CDBAGFED BCDAGFE5、具有 n 个顶点的无向完全图的边数为()A n(n 1)B n(n 1) / 2C n(n + 1) / 2D n²6、以下排序算法中,在最坏情况下时间复杂度不是O(n²)的是()A 冒泡排序B 选择排序C 插入排序D 快速排序7、在一个长度为 n 的顺序表中,删除第 i 个元素(1≤i≤n)时,需要向前移动()个元素。

A n iB iC n i + 1D n i 18、对于一个具有 n 个顶点和 e 条边的有向图,其邻接表表示中,所有顶点的边表中边的总数为()A eB 2eC e/2D n(e 1)9、以下关于哈夫曼树的描述,错误的是()A 哈夫曼树是带权路径长度最短的二叉树B 哈夫曼树中没有度为 1 的节点C 哈夫曼树中两个权值最小的节点一定是兄弟节点D 哈夫曼树中每个节点的权值等于其左右子树权值之和10、用邻接矩阵存储一个具有 n 个顶点的无向图时,矩阵的大小为()A nB n²C (n 1)²D (n + 1)²11、下列关于堆的描述,正确的是()A 大根堆中,每个节点的值都大于其左右子节点的值B 小根堆中,每个节点的值都小于其左右子节点的值C 堆一定是完全二叉树D 以上都对12、在一个具有 n 个单元的顺序存储的循环队列中,假定 front 和rear 分别为队头指针和队尾指针,则判断队满的条件是()A (rear + 1) % n == frontB (front + 1) % n == rearC rear == frontD rear == 013、已知一个图的邻接表如下所示,从顶点 1 出发,按深度优先搜索法进行遍历,则得到的一种可能的顶点序列为()|顶点|邻接顶点|||||1|2, 3||2|4, 5||3|5||4|6||5|6||6| |A 1, 2, 4, 6, 5, 3B 1, 2, 5, 3, 4, 6C 1, 2, 3, 5, 4, 6D 1, 3, 2, 4, 5, 614、对线性表进行二分查找时,要求线性表必须()A 以顺序方式存储,且元素按值有序排列B 以顺序方式存储,且元素按值无序排列C 以链式方式存储,且元素按值有序排列D 以链式方式存储,且元素按值无序排列15、以下算法的时间复杂度为 O(nlogn)的是()A 顺序查找B 折半查找C 冒泡排序D 归并排序16、若某链表最常用的操作是在最后一个节点之后插入一个节点和删除最后一个节点,则采用()存储方式最节省时间。

数据结构与算法试题(1)

数据结构与算法试题(1)

一、选择题1.在逻辑上可以把数据结构分成(A)A.线性结构和非线性结构B.动态结构和静态结构C.紧凑结构和非紧凑结构D.内部结构和外部结构2. 单链表中各结点之间的地址(C)A.必须连续B.部分必须连续C.不一定连续D.以上均不对3.在一个长度为n的顺序表中向第i个元素(0<i<=n+1)之前插入一个新元素时,需向后移动(B)个元素。

A、n-iB、n-i+1C、n-i-1D、i4. 插入和删除操作只能在一端进行的线性表,称为(C)。

A.队列B.线性表C.栈D.循环队列5、队列是仅允许在()进行插入,而在()进行删除。

(A)A.队尾,队首B.队尾,队尾C.队首,队尾D.队首,队首6.链表适合于(A)查找。

A.顺序B.二分C.随机D.顺序或二分7.数据的基本单位是(A)。

A.数据元素B.数据结构C.数据项D.数据对象8.下列哪个不是算法的特性(B)。

A.有穷性B.可数性C.可行性D.确定性9.在表长为n的顺序表中进行线性查找,它的平均查找长度为(B)。

A.ASL=nB.ASL=(n+1)/2C.ASL=n+1D.ASL=log2n10. 一个线性表第一个元素的存储地址是320,每个元素的长度为3,则第五个元素的地址是(C)。

A.311B.328C.332D.31311.设front、rear分别为循环双向链表结点的左指针和右指针,则指针P所指的元素是双循环链表L的尾元素的条件是(D)。

A.P==LB.P->front==LC.P==NULLD.P->rear==L12. 已知P为单链表中的非首尾结点,删除P结点的后继结点Q的语句为(A)。

A.P->NEXT=Q->NEXT;FREE(Q);B.Q->NEXT=P; FREE(Q);C.Q->NEXT=P->NEXT;FREE(Q);D.P->NEXT=S;S->NEXT=P;13.循环队列SQ队满的条件是(B)。

数据结构与算法设计考试试题

数据结构与算法设计考试试题

数据结构与算法设计考试试题一、选择题(共10题,每题2分,共20分)1. 下列哪种数据结构适合用于快速查找一个元素:A. 数组B. 栈C. 队列D. 哈希表2. 在二叉搜索树中,中序遍历可以得到一个有序的序列。

请问下列序列中哪个是中序遍历的结果:A. 2, 4, 6, 8, 10B. 10, 8, 6, 4, 2C. 2, 6, 4, 8, 10D. 6, 8, 4, 10, 23. 下面哪种排序算法的最好情况时间复杂度为O(nlogn):A. 冒泡排序B. 插入排序C. 选择排序D. 归并排序4. 哈希表通过将关键字映射到数组下标的方式来实现快速访问和插入。

请问下列哪种冲突处理方法是哈希表常用的:A. 开放地址法B. 建立链表法C. 折叠法D. 哈希函数法5. 堆排序是一种利用堆这种数据结构进行排序的算法,请问堆排序的时间复杂度是:A. O(n)B. O(nlogn)C. O(n^2)D. O(logn)6. Dijkstra算法是解决什么问题的经典算法:A. 最短路径问题B. 最大流问题C. 最小生成树问题D. 最长公共子序列问题7. 在图的表示中,邻接矩阵适合适用于什么类型的图:A. 稠密图B. 稀疏图C. 有向图D. 无向图8. 下面哪种搜索算法适用于有权图:A. 深度优先搜索B. 广度优先搜索C. Dijkstra算法D. A*算法9. 下面哪种数据结构不是线性结构:A. 数组B. 链表C. 栈D. 树10. 下列哪种数据结构可以实现先进先出的特性:A. 栈B. 队列C. 哈希表D. 树二、填空题(共5题,每题4分,共20分)1. 平衡二叉树的左子树和右子树的高度差不超过____。

2. 快速排序算法的时间复杂度为O(____)。

3. 广度优先搜索算法可以用来求解最____路径问题。

4. 图的最小生成树采用____算法来实现。

5. 哈希表的查找操作的平均时间复杂度为O(____)。

三、问答题(共5题,每题10分,共50分)1. 什么是数据结构?请举例说明一种常见的数据结构。

算法与数据结构期末考试卷

算法与数据结构期末考试卷

算法与数据结构期末考试卷一、选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构被称为:A. 链表B. 栈C. 队列D. 数组2. 快速排序算法的时间复杂度在最坏情况下是:A. O(n)B. O(n log n)C. O(n^2)D. O(log n)3. 哈希表解决冲突最常用的方法是:A. 链地址法B. 线性探测法C. 二次探测法D. 双重哈希法4. 二叉树的遍历方式不包括:A. 前序遍历B. 中序遍历C. 后序遍历D. 广度优先遍历5. 堆排序算法是基于:A. 链表B. 栈C. 队列D. 堆...(此处省略其他选择题)二、简答题(每题10分,共20分)1. 请简述二叉搜索树与普通二叉树的区别。

2. 什么是递归?请举例说明递归在算法中的应用。

三、编程题(每题15分,共30分)1. 编写一个函数,实现对链表的反转。

2. 编写一个函数,实现快速排序算法。

四、综合应用题(每题15分,共30分)1. 描述如何使用哈希表实现一个简单的数据库索引系统。

2. 假设你有一个数组,其中包含了一些重复的数值,请编写一个算法来找出数组中出现次数超过数组长度一半的数值。

五、论述题(每题15分,共15分)1. 论述动态规划与贪心算法的区别,并给出一个动态规划问题的例子。

六、附加题(10分,可选做)1. 请设计一个算法,用于检测一个字符串是否是回文。

如果字符串是回文,请返回True,否则返回False。

注意:本试卷中所有题目的答案必须以书面形式给出,编程题需要提供完整的代码实现。

祝各位考生考试顺利,取得优异成绩。

数据结构与算法试卷

数据结构与算法试卷

一、填空题(每空2分,共12分)1. 数据结构被形式地定义为(D, R ),其中D 是数据元素的有限集合,R 是D上的__数据元素之间的关系______ 有限集合。

2.向一个长度为n 的线性表中删除第i 个元素(1≤i ≤n)时,需向前移动___n-i_____个元素。

3. 假设以S 和X 代表进栈和出栈操作,则对输入序列a,b,c,d,e 进行一系列操作SSXSXSSXXX 之后,得到的输出序列为___bceda_____。

4. 已知循环队列的存储空间为数组A[21],front 指向队头元素的前一个位置,rear 指向队尾元素,假设front 和rear 的值分别为8和3,则该队列的长度为___16_____。

5.在有序表A[0…17]中,采用折半查找法查找关键字等于A[7]的元素,需比较元素的下标依次为 8 3 5 6 7 。

6. 在堆排序、快速排序和归并排序方法中,稳定的排序方法是 归并排序 。

二、单项选择题(每小题2分,共40分)1. 数据结构中,与所使用的计算机无关的是数据的( C )结构。

A.存储B. 物理C. 逻辑D.物理和存储2. 算法分析的两个主要方面是( A )A. 空间复杂性和时间复杂性B. 正确性和简明性C. 可读性和文档性D. 数据复杂性和程序复杂性3.在n 个结点的顺序表中,算法的时间复杂度是O (1)的操作是( A )A.访问第i 个结点(1≤i ≤n )和求第i 个结点的直接前驱(2≤i ≤n )B.在第i 个结点后插入一个新结点(1≤i ≤n )C.删除第i 个结点(1≤i ≤n )D. 将n 个结点从小到大排序 4. 线性表L在( B )情况下适用于使用链式结构实现。

A.需经常修改L中的结点值B.需不断对L进行删除插入C.L中含有大量的结点D.L中结点结构复杂 5. 经过以下栈运算后,x 的值是( A )InitStack(s); Push(s, 'a');Push(s, 'b');Pop(s,x);GetTop(s,x); A.a B.b C.1 D.06. 循环队列存储在数组A[0…m]中,则入队时的操作为( D )。

结构算法与数据结构考试样卷参考答案

结构算法与数据结构考试样卷参考答案

结构算法与数据结构考试样卷参考答案一、单选题(每小题1分,共20分)二、填空题(每小题1分,共20分)1. 非线性2. 链式3. 数据结构4. 数据封装5. LOC(0,0)+(i*n+j)*d6. 数据元素7. 16 8. 链式9. 顺序10. 删除11. 先进先出12. 栈顶指针13. 6 14. 515. 4 16. 连通分量17. 直接选择18. O(n2) 19. O(nlog2n) 20. 3三、判断题(每小题1分,共10分)四、算法填空20分1. 高度:4 //2分度为2的结点数:3 //1分度为1的结点数:3 //1分度为0的结点数:4 //1分2. 带权路径长度:131 //2分高度:4 //2分双分支结点数:6 //1分3. (1) 1,2,4,5,3,6 //3分(2) 1,2,3,4,5,6 //3分4. 最小生成树的权:54 //4分五、算法分析15 分1. (1) p->data>q->data //2分(2) p->link //2分(3) q->link //2分2. 将栈S中的元素逆置放到栈T中并返回栈T。

//3分3. (1) 2 //2分(2) 4 //2分(3) 3 //2分六、算法设计15分1. p=p->link = new ListNode; //0.5分if ( p1->data == p2->data ) //0.5分{p->data = p1->data; //1分p1 = p1->link; //1分p2 = p2->link; //1分}else if ( p1->data < p2->data ) //1分{p->data = p1->data; //1分p1 = p1->link; //1分}else {p->data = p2->data; //1分p2 = p2->link; //1分}2. BinTreeNode* BTreeCopy(BinTreeNode* BT){if(BT==NULL) return NULL; //1分else {//得到新结点BinTreeNode* pt=new BinTreeNode; //1分//复制根结点值pt->data=BT->data; //1分//复制左子树pt->left=BTreeCopy(BT->left); //1分//复制右子树pt->right=BTreeCopy(BT->right); //1分//返回新树的树根指针return pt; //1分}}说明:函数体中的else可以没有。

数据结构与算法试卷自考

数据结构与算法试卷自考

数据结构与算法试卷自考一、单选题(每题3分,共30分)1. 在数据结构中,从逻辑上可以把数据结构分成()。

A. 动态结构和静态结构。

B. 紧凑结构和非紧凑结构。

C. 线性结构和非线性结构。

D. 内部结构和外部结构。

2. 线性表的顺序存储结构是一种()的存储结构。

A. 随机存取。

B. 顺序存取。

C. 索引存取。

D. 散列存取。

3. 栈和队列的共同特点是()。

A. 都是先进后出。

B. 都是先进先出。

C. 只允许在端点处插入和删除元素。

D. 没有共同点。

4. 对于一个具有n个顶点的无向图,若采用邻接矩阵表示,则该矩阵的大小是()。

A. n.B. (n - 1)^2.C. n - 1.D. n^2.5. 下面关于二叉树的叙述正确的是()。

A. 一棵二叉树中叶子结点的个数等于度为2的结点个数加1。

B. 二叉树中不存在度大于2的结点。

C. 二叉树的度为2。

D. 二叉树的度为0或1。

6. 具有n个结点的完全二叉树的深度为()。

A. ⌊log₂n⌋ + 1.B. ⌈log₂n⌉ + 1.C. ⌊log₂n⌋.D. ⌈log₂n⌉.7. 对线性表进行二分查找时,要求线性表必须()。

A. 以顺序方式存储。

B. 以链式方式存储。

C. 以顺序方式存储,且结点按关键字有序排列。

D. 以链式方式存储,且结点按关键字有序排列。

8. 排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为()。

A. 希尔排序。

B. 冒泡排序。

C. 插入排序。

D. 选择排序。

9. 快速排序在()情况下最不利于发挥其长处。

A. 待排序的数据量太大。

B. 待排序的数据中含有多个相同值。

C. 待排序的数据已基本有序。

D. 待排序的数据数量为奇数。

10. 算法的时间复杂度取决于()。

A. 问题的规模。

B. 待处理数据的初态。

C. 计算机的配置。

D. A和B。

二、填空题(每题3分,共30分)1. 数据的逻辑结构有四种基本类型:集合结构、______结构、树形结构和图状结构。

数据结构与算法考试试卷

数据结构与算法考试试卷

江西财经大学-第学期期末考试试卷试卷代码:03266A 授课课时:112课程名称:数据结构与算法适用对象:本科一、单项选择题(从下列各题四个备选答案中选出一个正确答案,并将其代号写在答题纸相应位置处。

答案错选或未选者,该题不得分。

每小题2分,共24分。

)1.数据结构被形式地定义为(K,R),其中K是数据元素的有限集,R是K上的___有限集。

A.操作B.映像C.存储D.关系2.线性表若采用链式存储结构时,要求内存中可用存储单元的地址____。

A.必须连续的B.部分地址必须连续的C.一定是不续的D.连续不连续都可以3.一个栈的入栈序列是a、b、c、d、e,则栈的不可能输出序列是____。

A.edcbaB.decbaC.dceabD.abcde4.一个队列的入队序列是1、2、3、4,则队列输出序列是____。

A.4、3、2、1B.1、2、3、4C.1、4、3、2D.3、2、4、15.栈和队列的共同点是____。

A.都是先进后出B.都是先进先出C.只允许在端点处插入、删除元素D.没有共同点6.在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入s结点,则执行____。

A. s->next = 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;7.设串s1=‘ABCDEFG’,s2=‘PQRST’,函数con (x, y) 返回x与y串的连接串,函数subs (s, i, j) 返回串s的从序号i的字符开始的j个字符组成的子串,函数len (s) 返回串s的长度,则con (subs (s1, 2, len (s2)), subs (s1, len (s2), 2)) 的结果串是____。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

考场: 座位号: 专业名称:
装订线 装订线 装订线
第 20XX-20XX 学年第 X 学期考试卷
课程代码: SS1005 课程名称: 数据结构与算法
考试时间: 90 分钟 考试形式: 闭卷 试卷类型: A 学分: 4
一、 单项选择题(共15小题,每小题2分,共30分)在每小题列出的
选项中只有一个选项符合题目要求,将正确选项前的字母填写在答题纸上。

1. 数据三种最主要的逻辑结构是树形结构和( )。

A. 线性表、二叉树 B. 线性结构、图状结构
C. 线性表、图
D. 树形结构、堆
2. 以下数据结构中,( )是线性数据结构。

A .树
B .图
C .堆
D .栈 3. 下面关于线性表的叙述中,错误的是哪一个?( )
A .若线性表采用顺序存储结构,则必须占用一片连续的存储单元。

B .若线性表采用顺序存储结构,则便于进行插入和删除操作。

C .若线性表采用链接存储结构,则不必占用一片连续的存储单元。

D .若线性表采用链接存储结构,则便于插入和删除操作。

4. p 是指向单链表头结点的指针,若该链表是空表,下面正确的说法是( )。

A. p = = NULL
B. p != NULL
C. p->next = =NULL
D. p->next = =NULL
5.在指针p指向单链表结点之后插入s所指结点的操作是:()。

A.p->next=s; B.s->next=p->next ;p->next=s; C.s->next=p;
D.s->next=p->next;
6.存取数据时采用先进先出的原则的数据结构是()。

A.队列
B.栈
C.字符串
D.线性表
7.假定栈用单链表的存储结构表示,栈的栈顶指针为top,当结点x入栈时执行的
操作为( )。

A.x->next=top;
B. top->next=x; top=x;
C. top=x;
D. x->next=top; top=x;
8.队列的数据出队操作在()进行。

A.队尾位置
B.队头位置
C. 任意位置
D. 中间位置
9.树的度是指()。

A.树的结点数
B.树的后继个数
C. 树中任一结点最大的后继数
D. 以上都不是
10.具有8个叶子结点的二叉树中有()个双支结点。

A.7 B.8 C.9 D.10
11.下面对完全二叉树描述正确的是()。

A.所有层的结点数都必须是满的
B.除最后一层,其它层上的结点数都必须
是满的
C.最后一层的结点数不能是满的
D.以上都不是
12.将100个元素散列到10000个单元的散列表中,则()产生冲突。

A.一定会
B. 一定不会
C. 仍可能会
13.假定利用数组a表示一个栈,用top 保存栈顶位置,top=-1表示栈空,已知栈
中有数据,当元素x进栈时的操作为()。

A.a[--top]=x;
B.a[top--]=x;
C. a[++top]=x;
D. a[top++]=x;
14.n个顶点的无向图,至多有()条边。

A.n-l B.n(n-1)/2 C.n(n+l) D.2n
15.无向图G=(V,E),其中:V={a,b,c,d }, E={(a,b), (a,c),(b,d),(c,d)},对该
图进行广度优先遍历,得到的顶点序列正确的是()。

A.a,c,b,d B.a,d,c,b C.a,c,d,b D.a,b,d,c
第 2 页共4 页
考场: 座位号: 专业名称:
学号: 姓名:
装订线 装订线 装订线
二、填空题(每空2分,共20分)答案写在答题纸上
1.
2.
直接前驱
3.
4.
int i=0;s=0;n=300; do {
i=i+1; s=s+10*i;
}
while( i<n && s<n);
5.采用顺序存储结构的线性表中,表的长度为n ,删除线性表中第i 个元素(1<=i<=n )一个元素时,需向前移动____n-i+1______个元素。

6. 在二分(折半)查找算法的前提条件是查找表中的数据必须是序 。

7. 表达式a / (b+c)*d 对应的后缀表达式是 a b c +*d- 。

8. 写出下面二叉树的后序遍历结果 DBFGCA 。

三、简答题(4小题,共30分)将答案写在答题纸上
1. 设对数据A B C D 执行一系列的进出操作,若数据出栈的顺序是 B A C D ,写出相
应的数据进出栈的操作顺序。

(6分)
2.已知一组数据的排序码为:{46,53,40,38,74,16,88},要求排序后数据从小
到大升序排列,写出利用简单选择排序的方法排序时经过3趟排序后的结果。

(8分)3.画出下面图所对应的邻接矩阵(8分)
4.设给定关键字输入序列为(48,27,61,95 ,38),散列表的存储地址范围是0~10,如采用开放地址法线性探查法解决冲突。

(8分)
a.设计合理的散列函数;
b.构造出包含给定关键字的散列表。

四、设计题(共2小题,共20分)将答案写在答题纸上
1.已知数组A 和数组B中的数据分别是有序,编写算法将数组A和B中的数据合并到数组C中,并保证C中的数据也是有序的,用文字描述算法执行的步骤。

(10分) 2.设计函数Node * GetMin(Node *Head),Head接收链表的头结点,在传入的链表中
查找最小值的结点并返回其地址,如是空链表则返回空值0。

(10分)
其中结点的类型声明如下:struct Node{ int data; Node *next; };
第 4 页共4 页。

相关文档
最新文档