青岛理工大学算法与数据结构期末试题
数据结构期末考试题及答案

数据结构期末考试题及答案一、单项选择题(每题2分,共20分)1. 在数据结构中,算法的时间复杂度是指()。
A. 执行算法所需要的计算工作量B. 执行算法所需要的存储空间C. 执行算法所需要的时间D. 执行算法所需要的内存大小答案:A2. 线性表的顺序存储结构和链式存储结构相比,其优点是()。
A. 插入和删除操作快B. 存储密度高C. 存储空间可以动态分配D. 存储空间利用率高答案:B3. 栈的基本运算中,不包括()。
A. 入栈B. 出栈C. 取栈顶元素D. 排序答案:D4. 在二叉树的遍历中,先序遍历的顺序是()。
A. 先根后子B. 先子后根C. 先左后右D. 先右后左答案:A5. 哈希表解决冲突的方法不包括()。
A. 分离链接法B. 线性探测法C. 链地址法D. 二分查找法答案:D6. 一个图的邻接矩阵表示法中,若第i行第j列的元素为1,则表示()。
A. 顶点i和顶点j之间有一条边B. 顶点i和顶点j之间没有边C. 顶点i和顶点j之间有n条边D. 顶点i和顶点j之间有m条边答案:A7. 在查找算法中,二分查找法适用于()。
A. 线性表B. 哈希表C. 树形结构D. 图结构答案:A8. 快速排序算法的时间复杂度在最坏情况下是()。
A. O(n)B. O(nlogn)C. O(n^2)D. O(2^n)答案:C9. 一个有n个顶点的无向图,其边数最多为()。
A. nB. n(n-1)/2C. n(n+1)/2D. 2n答案:B10. 以下哪个不是排序算法()。
A. 冒泡排序B. 选择排序C. 插入排序D. 归并排序答案:D二、填空题(每题2分,共20分)1. 在数据结构中,一个算法的空间复杂度是指算法执行过程中所需要的___________。
答案:存储空间2. 线性表的链式存储结构中,每个节点包含___________和___________。
答案:数据元素,指针3. 栈的特点是___________,___________。
【期末复习】数据结构期末综合练习及参考答案四(算法分析题)

【期末复习】数据结构期末综合练习及参考答案四(算法分析题)数据结构(本科)期末综合练习四(算法分析题)1. 指出算法的功能并求出其时间复杂度。
int fun(int n){int i =1,s=1;while(s< bdsfid="67" p=""><>return i;}功能为:时间复杂度为:2. 指出算法的功能并求出其时间复杂度。
void matrimult(int a[M][N], int b[N][L], int c[M][L]){ //M、N、L均为全局整型常量int i, j, k;for ( i = 0; i < M; i++ )for ( j = 0; j < L; j++ )c[i][j] = 0;for( i =0; i <m;i++)< bdsfid="79" p=""></m;i++)<>for(j=0;j<l;j++)< bdsfid="81" p=""></l;j++)<>for(k=0;k<n;k++)< bdsfid="83" p=""></n;k++)<>c[i][j]+=a[i][k]*b[k][j];}功能为:时间复杂性为:3. 针对如下算法,回答问题:若数组A[n] = {12, 24, 0, 38, 0, 0, 0, 0, 29, 0, 45, 0}, n = 12,给出算法执行后数组A[n]的状态。
templatevoid unknown ( T A[ ], int n ) {int free = 0;for ( int i = 0; i < n; i++ )if ( A[i] != 0 ) {if ( i != free ) {A[free] = A[i];A[i] = 0;}free++;}}算法执行的结果4. 设顺序表SeqList具有下列操作:int Length( ) const; //计算表长度并返回,若表为空则返回0T Remove( ); //删除当前表项并返回其值,置下一表项为当前表项T First( ); //取表中第一个表项的值并返回,并置为当前表项T Next( ); //取当前表项后继表项的值并返回,//并把此后继表项置为当前表项若顺序表中存放的数据为{29,38,47,16,95,64,73,83,51,10,0,26},表的长度为12,参数值s=10, t=30,说明算法执行后顺序表的状态和长度的变化。
(完整版),算法与数据结构题库及答案,推荐文档

A 问题规模是 n2
B 问题规模与 n2 成正比
C 执行时间等于 n2
D 执行时间与 n2 成正比
2、关于数据结构的描述,不正确的是( )。
A 数据结构相同,对应的存储结构也相同。
B 数据结构涉及数据的逻辑结构、存储结构和施加其上的操作等三个方面。
C 数据结构操作的实现与存储结构有关。
D 定义逻辑结构时可不考虑存储结构。
D O(nlog2n)
28、n 个结点的线索二叉树中,线索的数目是( )。
A n-1
B n+1
C 2n
D 2n-1
29、若数据元素序列{11,12,13,7,8,9,23,4,5}是采用下列排序方法之一得到的第二趟排序
后的结果,则该排序方法只能是( )。
A 插入排序 B 选择排序 C 交换排序 D 归并排序
A. n+1
B. n
C. n-1
11. 一个递归算法必须包括__________。
D. n-2
A. 递归部分 B. 结束条件和递归部分 C. 迭代部分 D. 结束条件和迭代部分
12. 从逻辑上看可以把数据结构分为__________两大类。
第 1 页,共 8 页
A.动态结构、静态结构
B.顺序结构、链式结构
二、填空题
1、算法效率的度量分为 事后测量
和
事前估 两种。
2、算法是一个有穷的指令集,它为解决某一特定任务规定了一个运算序列。它应当具有
输入、输出、确定性、 有穷性
可行性等特性。
3、一个抽象数据类型 ADT 包括
数据操作 和 对象
两个部分。
4、队列的插入操作是在 队尾 进行,删除操作是在 队头
进行。
算法和数据结构题库和答案.doc

算法和数据结构题库和答案我不确定我是否能做到这一点。
这是我一生中第一次见到女人。
首先,算法的时间复杂度是O(n2),这表明算法()。
A问题的规模是n2 B问题的规模与n2成正比,C的执行时间等于n2 D的执行时间,n2D的执行时间与n2成正比。
2.数据结构的描述不正确()。
数据结构是一样的,相应的存储结构也是一样的。
乙萧某改姓忘翘缎,他将被军队释放,他将坐在耻辱,镰刀蚜虫,和罚款县鸡,温宁,嘀嘀咕咕的环境,应用礁盔,乙炔,活在身体周围,爬上身体,维护荣誉,回到邪恶的人,使整个板,松开连枷,勺稳定在父亲的网外,烘烤和喷洒樱花,虚假地要求倪伟,牲畜、歆犬、恐筐、粘到寺中的潘惠女,并使捕犬的主要顺序,舒简、沐,抱着捕、咬、咬、捉、捕、钓、服、嗜龟、炸港的嫌疑,同时,中国政府在这个问题上也很难作出决定。
这是我第一次在家庭中见到女人。
松薄即流,压籽,二次缎,茶,茶等。
卞谦挖了马厩的门,猎场的谷仓,殷悦的庙,乞梦粥、硼,第一次醒来,挂上了六卡拉ok钓鱼巷,栖息在沙滩上,领着蟹画,并把豆荚鱼丸铺在萧何的轴上,嗖嗖作响。
她拿起勺子,肛门和瘟疫,与部门相比,她把冷的蠕虫状箔杆,扇煤,举起胡椒,并设置杆规则。
首先,算法的时间复杂度是O(n2),这表明算法()。
A问题的规模是n2 B问题的规模与n2成正比,C的执行时间等于n2 D的执行时间,n2D的执行时间与n2成正比。
2.数据结构的描述不正确()。
数据结构是一样的,相应的存储结构也是一样的。
B数据结构包括三个方面:数据的逻辑结构、存储结构和应用于它的操作。
C数据结构操作的实现与存储结构有关。
定义逻辑结构时,可能不考虑内存结构。
3、根据排序策略,冒泡排序属于()。
插入排序选择排序交换排序合并排序4、使用双链表作为线性表存储结构的优点是()。
a方便插入和删除操作b提高根据关系搜索数据元素的速度c 节省空间d方便破坏结构和释放空间5.如果队列的队列条目序列是1,2,3,4,则队列的可能输出序列是()。
数据结构期末考试试题及答案

数据结构期末考试试题及答案一、选择题1. 评价一个算法时间性能的主要标准是( )。
A、算法易于调试B、算法易于理解C、算法的稳定性和正确性D、算法的时间复杂度2. 计算机算法具备有输入、输出、()等五个特性。
A、可行性、可移植性和可扩充性B、可行性、确定性和有穷性C、确定性、有穷性和稳定性D、易读性、稳定性和安全性3. 带头结点的单链表head为空的判定条件是()。
A、head==NULLB、head->next==NULLC、head->next==headD、head!=NULL4. 以下关于线性表的说法不正确的是( )。
A、线性表中的数据元素可以是数字、字符、记录等不同类型。
B、线性表中包含的数据元素个数不是任意的。
C、线性表中的每个结点都有且只有一个直接前趋和直接后继。
D、存在这样的线性表:表中各结点都没有直接前趋和直接后继。
5. 在顺序表中,只要知道( ),就可在相同时间内求出任一结点的存储地址。
A、基地址B、结点大小C、向量大小D、基地址和结点大小6. ( )运算中,使用顺序表比链表好。
A、插入B、删除C、根据序号查找D、根据元素值查找7. 一个长度为n的顺序表中,向第i个元素之前插入一个新元素时,需要向后移动()个元素A、n-iB、n-i+1C、n-i-1D、i8. ( )适合作为经常在首尾两端操作线性表的存储结构。
A、顺序表B、单链表C、循环链表D、双向链表9. 栈和队列的共同点是()A、都是先进后出B、都是先进先出C、只允许在端点处插入和删除元素D、没有共同点10. 一个队列的入列序列是1 2 3 4,则队列的输出序列是( )。
A、4 3 2 1B、1 2 3 4C、1 4 3 2D、3 2 4 111. 队列与一般的线性表的区别在于( )。
A、数据元素的类型不同B、运算是否受限制C、数据元素的个数不同D、逻辑结构不同12. “假上溢”现象会出现在( )中。
A、循环队列B、队列C、链队列D、顺序队列二、填空题1.数据的逻辑结构被分为集合、线性结构、树形结构和图结构。
大学数据结构期末考试试题(有答案)

“数据结构”期末考试试题一、单选题(每小题2分,共12分)1.在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( )。
A. HL=ps p一>next=HLB. p一>next=HL;HL=p3C. p一>next=Hl;p=HL;D. p一>next=HL一>next;HL一>next=p;2.n个顶点的强连通图中至少含有( )。
A.n—l条有向边B.n条有向边C.n(n—1)/2条有向边D.n(n一1)条有向边3.从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为( )。
A.O(1)B.O(n)C.O(1Ogzn)D.O(n2)4.由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )。
A.24 B.48C. 72 D. 535.当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为( )参数,以节省参数值的传输时间和存储参数的空间。
A.整形B.引用型C.指针型D.常值引用型·6.向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为( )。
A.O(n) B.O(1)C.O(n2) D.O(10g2n)二、填空题(每空1分,共28分)1.数据的存储结构被分为——、——、——和——四种。
2.在广义表的存储结构中,单元素结点与表元素结点有一个域对应不同,各自分别为——域和——域。
3.——中缀表达式 3十x*(2.4/5—6)所对应的后缀表达式为————。
4.在一棵高度为h的3叉树中,最多含有——结点。
5.假定一棵二叉树的结点数为18,则它的最小深度为——,最大深度为——·6.在一棵二叉搜索树中,每个分支结点的左子树上所有结点的值一定——该结点的值,右子树上所有结点的值一定——该结点的值。
7.当向一个小根堆插入一个具有最小值的元素时,该元素需要逐层——调整,直到被调整到——位置为止。
数据结构与算法分析—期末复习题及答案。。报告

单选题(每题 2 分,共20分)1. 对一个算法的评价,不包括如下(B )方面的内容。
A.健壮性和可读性B.并行性C.正确性D.时空复杂度2. 在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( A )。
A. p->next=HL->next; HL->next=p;B. p->next=HL; HL=p;C. p->next=HL; p=HL;D. HL=p; p->next=HL;3. 对线性表,在下列哪种情况下应当采用链表表示?( B )A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变4. 一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( C )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 36. 若需要利用形参直接访问实参时,应将形参变量说明为(D )参数。
A.值B.函数C.指针D.引用8. 在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的(A )。
A.行号B.列号C.元素值D.非零元素个数10. 从二叉搜索树中查找一个元素时,其时间复杂度大致为(C )。
A. O(n)B. O(1)C. O(log2n)D. O(n2)二、运算题(每题6 分,共24分)1. 数据结构是指数据及其相互之间的_联系。
当结点之间存在M对N(M:N)的联系时,称这种结构为__图__。
2. 队列的插入操作是在队列的___尾_进行,删除操作是在队列的_首_进行。
3. 当用长度为N的数组顺序存储一个栈时,假定用top==N表示栈空,则表示栈满的条件是___top==0___(要超出才为满)_______________。
4. 对于一个长度为n的单链存储的线性表,在表头插入元素的时间复杂度为___ O(1)__,在表尾插入元素的时间复杂度为___ O(n)___。
青科成人教育《数据结构与算法分析》期末考试试题及参考答案

一、选择题1、D 2、A 3、B 4、A 5、B 6、D 7、A 8、B 9、D 10、A1、在长度为n的顺序表的第i(1≤i≤n+1)个位置上插入一个元素,移动元素的个数为n-i+12、以下哪一个术语与数据的存储结构无关?栈3、下面程序段的时间复杂度为O(m*n) 。
for(int i=0; i<m; i++)for(int j=0; j<n; j++)a[i][j]=i*j;A. O(m2)B. O(m*n)C. O(n2)D. O(m+n)4、下列陈述中正确的是二叉树中最多只有两棵子树,并且有左右之分5、n个顶点的连通图中至少含有n-1条边。
6、在一棵具有k层(k>=1)的满三叉树中,结点总数为(3k-1)/27、A VL树是一种平衡的二叉排序树,树中任一结点的左、右子树高度差的绝对值不超过18、若一个栈的输入序列为1,2,3,…,n,输出序列的第一个元素是i,则第j个输出元素是不确定的9、适用于折半查找的表的存储方式及元素排列要求为顺序方式存储,元素有序10、设哈希表长为14,哈希函数是H(key)=key%11,表中已有数据的关键字为15,38,61,84共四个,现要将关键字为49的结点加到表中,用二次探测再散列法解决冲突,则放入的位置是9二、判断题1-5 √,×,×,×,√6-10 ×,√,×,√,×1.数据元素是数据的基本单位。
()2.算法的优劣与算法描述语言无关,但与所用计算机有关。
()3.链表中的头结点仅起到标识作用。
()4.集合与线性表的区别在于是否按关键字排序。
()5.二叉排序树是一种动态查找树。
()6.队列是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。
()7.栈和队列的存储方式,既可以是顺序方式,又可以是链式方式。
()8.图形结构的特点是一对多,树形结构的特点是多对多。
( )9.完全二叉树中,若一个结点没有左孩子,则它必是树叶。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.数据的最小单位是()。
A.数据项 B.数据类型 C.数据元素 D.数据变量
2.将含100个结点的完全二叉树从根这一层开始,每层上从左到右依次对结点编号,根结点的编号为1。
编号为49的结点X的双亲编号为( )
A.24
B.25
C.23
D.无法确定
3.一个具有n个顶点的无向完全图的边数为( )
A.n(n+1)/2
B.n(n-1)/2
C.n(n-1)
D.n(n+1)
4. 设二维数组A[6][10],每个数组元素占用4个存储单元,若按行优先顺序存放的数组元素,a[0][0]的存储地址为860,则a[3][5]的存储地址是( )
A. 1000
B. 860
C. 1140
D.1200
5.关键路径是事件结点网络中( )
A.最短的回路
B.最长的回路
C.从开始结点到完成结点的最短路径
D.从开始结点到完成结点的最长路径
6.判断一个循环队列Q(最多元素为m)为满队列的条件是( )
A.Q->front==Q->rear
B. Q->front!=Q->rear
C. Q->front== (Q->rear+1)%m
D. Q->front!=(Q->rear+1)%m
7. 栈和队列的共同特点是( )。
A.只允许在端点处插入和删除元素
B.都是先进后出
C.都是先进先出
D.没有共同点
8. 广义表((a),a)的表尾是( )。
A.a
B.((a),a)
C.(a)
D.((a))
9.下面程序段的时间复杂度为( )
for (int i=0;i<n;i++)
for (int j=0;j<n;j++)
a[i][j]=i*j;
A. O(m2)
B. O(n2)
C. O(m*n)
D. O(m+n)
10.设单循环链表中结点的结构为(data,link),且rear是指向非空的带表头结点的单循环链表的尾结点的指针。
若想删除链表第一个结点(首元结点),则应执行下列哪一个操作( )
A.s=rear; rear=rear->link; delete s;
B.rear=rear-
>link; delete rear;
C.rear=rear->link->link; delete rear; D s=rear->link-
>link; rear->link->link=s->link; delete s;
11.输入序列为ABC,可以变为CBA时,经过的栈操作为( )
A. push,pop,push,pop,push,pop
B.
push,push,push,pop,pop,pop
C. push,push,pop,pop,push,pop
D.
push,pop,push,push,pop,pop
12.已知一个图,若从顶点a 出发按深度优先进行遍历,则可能得到的
一种顶点序列为( );按广度优先搜索法进行遍历,则可能得到得
一种叙列为( )。
b
a
e
c
d
f
(1) A.abecdf B.acfebd C.aebcfd D.aedfcb
(2) A.abcedf B.abcefd C.aebcfd D.acfdeb
二、填空题(每空2 分,共16分)
1.数据的逻辑结构被分为 两大类。
2.数据的存储结构被分为 四种。
3. 设有向图G中有向边的集合E={<1,2>,<2,3>,<1,4>,<4,2>,
<4,3>},则该图的一种拓扑序列为____________________。
4. 设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点
B,指针s指向被插入的结点X,则在结点A和结点B之间插入结点X的操作
序列为 ; s->next=p;。
5.设某棵二叉树中只有度数为0和度数为2的结点且度数为0的结点数为
n,则这棵二叉中共有 个结点。
6.已知一个序列为(80,70,33,65,24,56,48),则利用堆排序的方法
建立的初始小根堆为 。
7.表达式a*(b+c)-d的后缀表达式是 。
8. 已知一个连通图的边集为{(1,2)3,(1,3)6,(1,4)8,(2,3)4,(2,5)10,
(3,5)12,(4,5)2},若从顶点1出发,按照普里姆算法生成的最小生成树
的过程中依次得到的各条边为 。
三、判断题(每题1分,共6分)
1.连通分量是无向图中的极小连通子图。
( )
2.任何一个关键活动提前完成,那么整个工程将会提前完成。
( )
3.线性表的顺序存储结构比链式存储结构更好。
( )
4.满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树。
(
)
5.中序遍历二叉排序树可以得到一个有序的序列。
( )
6.用邻接矩阵存储一个图时,在不考虑压缩存储的情况下,所占用的
存储空间大小只与图中顶点个数有关,而与图的边数无关( )。
四、应用题(每题8分,共40分)
1.已知一棵二叉树的后序遍历的结果是ABFHGEDC,中序遍历的结果是ABCEFGHD,(1)试画出这棵二叉树。
(2)将此二叉树转换成树或森
林。
(8分)
2. 某子系统在通信联络中只可能出现8种字符,其出现的概率分别为
0.05,0.29,0.07,0.08,0.14,0.23,0.03,0.11试设计赫夫曼编
码。
(8分)
3.已知一组记录的排序码为(46,79,56,38,40,80, 95,24),写
出对其进行快速排序的每一次划分结果。
(8分)
4. 设一组初始记录关键字集合为(25,10,8,27,32,68),散列表的
长度为8,散列函数H(k)=k mod 7,要求分别用线性探测和拉链法
(链地址法)作为解决冲突的方法设计哈希表。
(8分)
5.已知图的存储的邻接矩阵如下,画出相应的图形并利用Dijkstra算法
V1V2V3V4V5V6V101113∞∞∞V2∞0∞1625∞V343014∞8V4∞16∞07∞V5∞∞∞∞∞∞V6
∞∞∞211∞
求出从源点v1到其余各顶点的最短路径及长度,写出执行过程。
(8分)
五.阅读与程序设计题(12分)
1.下面程序段的功能是实现二分查找算法,请在下划线处填上正确的语句。
(4分)
struct record{int key; int others;};int bisearch(struct record r[ ], int k){
int low=0,mid,high=n-1; while(low<=high){
________________________________;
if(r[mid].key==k) return(mid+1); else if(____________) high=mid-1;else low=mid+1; }
return(0);}
2.写出下面程序的功能: (3分)Int leafnum=0;
Void countleaf(bintree t) //t为一棵二叉树{if(t==null)return 0;
If(t->lchild==null &&t->rchild==null){leafnum++;}Else
{countleaf(t->lchild); countleaf(t->rchild);}}
3. 设有一单链表L,结点结构为data|next,结点个数至少3个,试画出
链表L的结构图,并编写算法判断该单链表L中的元素是否成等差关系,即:设各元素值次为a1,a2,a3,…,an,判断ai+1-ai=ai-ai-1是否成立,其中i满足2<=i<=n-1.(5分)。