中北大学2012-2013数据结构试题
数据结构期中试题及参考答案
}LNode, *LinkList;
阅读算法 f31,并回答问题;
(1)设节点结构为id score next
,成绩链表 A 和 B 如图所示,画
出执行算法 f31(A,B)后节点 A 所指的链表;
A
1 70
2 40
3 90
4 48
5 56
B
2 38
4 65
题 31 图
(2)减速算法 f31 的功能。 Void f31(LinkList A, LinkList B) { LinkList p,q; p = A->next; q = B->next; while (p && q) { if(p->id < q->id) p = p ->next; else if(p->if > q-> id) q =q –>next; else { if (p->score < 60)
I + = j + lt ;
}
}while (i+lt <= ls && j>=0);
Return k;
}
4
五、算法设计题(本题 14 分) 34.假设线性表采用顺序存储结构,其类型定义如下:
#define ListSize 100 typedef struct{
int data[ListSize]; int length; }SeqList, *Table; 编写算法,将顺序表 L 中所有值为奇数的元素调整到表的前端。
(1)设 n=10,元素
p=8
2
存储在 sa[p],写出下标 p 的值;
题 3-1 图
数据结构综合练习题及答案.doc
数据结构(一)一、选择题1.组成数据的基本单位是(C )。
(A)数据项(B)数据类型(C)数据元素(D)数据变最2.设数据结构A=(D, R),其中D={1, 2, 3, 4}, R={r}, r={<l, 2>, <2, 3>, <3, 4>, <4, 1>},则数据结构人是(C )o(A)线性结构(B)树型结构(C)图型结构(D)集合3、数组的逻辑结构不同于下列(D )的逻辑结构。
(A)线性表(B)栈(C)队列(D)树4、二叉树中第i (i$l)层上的结点数最多有(C )个。
(A) 2i (B) 21(C) 2i_1(D) 2i-l5、设指针变量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的初始状态为空,元素El、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 )0(A) 100 (B) 40 (C) 55 (D) 808、设结点A冇3个兄弟结点H.结点B为结点A的双亲结点,则结点B的度数数为(B )。
(A) 3 (B) 4 (0 5 (D) 19、根据二义树的定义可知二义树共有(B )种不同的形态。
(A) 4 (B) 5 (0 6 (D) 710、设有以下四种排序方法,则(B )的空间复杂度最人。
(A)冒泡排序(B)快速排序(C)堆排序(D)希尔排序11、以下说法正确的是(A )A.连通图的牛成树,是该连通图的一个极小连通子图。
(完整版),算法与数据结构题库及答案,推荐文档
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、队列的插入操作是在 队尾 进行,删除操作是在 队头
进行。
数据结构考试题库(含参考答案)(2)
数据结构考试题库(含参考答案)(2)第1章绪论⼀、选择题1. 算法的计算量的⼤⼩称为计算的()。
【北京邮电⼤学2000 ⼆、3 (20/8分)】A.效率 B. 复杂性 C. 现实性 D. 难度2. 算法的时间复杂度取决于()【中科院计算所1998 ⼆、1 (2分)】A.问题的规模 B. 待处理数据的初态 C. A和B3.计算机算法指的是(1),它必须具备(2)这三个特性。
(1) A.计算⽅法 B. 排序⽅法 C. 解决问题的步骤序列 D. 调度⽅法(2) A.可执⾏性、可移植性、可扩充性 B. 可执⾏性、确定性、有穷性C. 确定性、有穷性、稳定性D. 易读性、稳定性、安全性【南京理⼯⼤学1999 ⼀、1(2分)【武汉交通科技⼤学1996 ⼀、1(4分)】4.⼀个算法应该是()。
【中⼭⼤学1998⼆、1(2分)】A.程序B.问题求解步骤的描述C.要满⾜五个基本特性D.A和C.5. 下⾯关于算法说法错误的是()【南京理⼯⼤学2000 ⼀、1(1.5分)】A.算法最终必须由计算机程序实现B. 为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可⾏性是指指令不能有⼆义性D. 以上⼏个都是错误的6. 下⾯说法错误的是()【南京理⼯⼤学2000 ⼀、2 (1.5分)】(1)算法原地⼯作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执⾏时间的⼀个上界(4)同⼀个算法,实现语⾔的级别越⾼,执⾏效率就越低A.(1) B.(1),(2) C.(1),(4) D.(3)7.从逻辑上可以把数据结构分为()两⼤类。
【武汉交通科技⼤学1996 ⼀、4(2分)】A.动态结构、静态结构B.顺序结构、链式结构C.线性结构、⾮线性结构D.初等结构、构造型结构8.以下与数据的存储结构⽆关的术语是()。
【北⽅交通⼤学2000 ⼆、1(2分)】A.循环队列 B. 链表 C. 哈希表 D. 栈9.以下数据结构中,哪⼀个是线性结构()?【北⽅交通⼤学2001 ⼀、1(2分)】A.⼴义表 B. ⼆叉树 C. 稀疏矩阵 D. 串10.以下那⼀个术语与数据的存储结构⽆关?()【北⽅交通⼤学2001 ⼀、2(2分)】A.栈 B. 哈希表 C. 线索树 D. 双向链表11.在下⾯的程序段中,对x的赋值语句的频度为()【北京⼯商⼤学2001 ⼀、10(3分)】FOR i:=1 TO n DOFOR j:=1 TO n DOx:=x+1;A.O(2n) B.O(n) C.O(n2) D.O (log2n)12.程序段FOR i:=n-1 DOWNTO 1 DOFOR j:=1 TO i DOIF A[j]>A[j+1]THEN A[j]与A[j+1]对换;其中n为正整数,则最后⼀⾏的语句频度在最坏情况下是()A. O(n)B. O(nlogn)C. O(n3)D. O(n2) 【南京理⼯⼤学1998⼀、1(2分)】13.以下哪个数据结构不是多型数据类型()【中⼭⼤学1999 ⼀、3(1分)】A.栈B.⼴义表C.有向图D.字符串14.以下数据结构中,()是⾮线性数据结构【中⼭⼤学1999 ⼀、4】A.树B.字符串C.队D.栈15. 下列数据中,()是⾮线性数据结构。
数据结构c语言版试题大全(含答案)
1 绪论沈阳理工大学应用技术学院信息与控制学院计算机科学与技术教研室2011-5-8数据结构复习题:绪论单选题1、在数据结构中,与所使用的计算机无关的数据叫_____结构。
A存储|B物理|C逻辑|D物理和存储2、在数据结构中,从逻辑上可以把数据结构分成______。
A动态结构和静态结构|B紧凑结构和非紧凑结构|C线性结构和非线性结构|D内部结构和外部结构图3、数据结构在计算机内存中的表示是指_______。
数据的存储结构|数据结构|数据的逻辑结构|数据元素之间的关系4、在数据结构中,与所使用的计算机无关的是数据的______结构。
逻辑|存储|逻辑和存储|物理5、在以下的叙述中,正确的是_____。
线性表的线性存储结构优于链表存储结构|二维数组是其数据元素为线性表的线性表|栈的操作方式是先进先出|队列的操作方式是先进后出6、在决定选取何种存储结构时,一般不考虑_______。
各结点的值如何|结束个数的多少|对数据有哪些运算|所用编程语言实现这种结构是否方便7、在存储数据时,通常不仅要存储各数据元素的值,而且还要存储_______。
数据的处理方法|数据元素的类型|数据元素之间的关系|数据的存储方法8、下面说法错误的是_______。
(1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估计算法执行时间的一个上界(4)同一个算法,实现语句的级别越高,执行效率越低(1)|(1)、(2)|(1)、(4)|(3)9、通常要求同一逻辑结构中的所有数据元素具有相同的特性。
这意味着______。
数据元素具有同一特点|不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致|每个数据元素都一样|数据元素所包含的数据项的个数要相等10、以下说法正确的是_______。
数据元素是数据的最小单位|数据项是数据的基本单位|数据结构是带结构的数据项的集合|一些表面上很不相同的数据可以有相同的逻辑结构11、____是数据的最小单元,_____是数据的基本单位.数据项|数据元素|信息项|表元素12、数据结构是指_____以及它们之间的_____.(1)数据元素(2)结构|(1)计算方法(2)关系|(1)逻辑存储(2)运算|(1)数据映像(2)算法13、计算机所处理的数据一般具备某种内在的关系,这是的指_____.数据和数据之间存在的某种关系|元素和元素之间存在某种关系|元素内部具有某种结构|数据项和数据项之间存在某种关系14、数据的逻辑结构可以分为_____两类.动态结构和表态结构|紧凑结构和非紧凑结构|线性结构和非线性结构|内部结构和外部结构15、数据的逻辑结构是指_____关系的整体.数据元素之间逻辑|数据项之间逻辑|数据类型之间|存储结构之间16、在存储数据时,通常不仅要存储各数据元素的值,而且还要存储_____.数据的处理方法|数据元素的类型|数据元素之间的关系|数据的存储方法17、在数据的存储结构中,一个存储结点存储一个_____.数据项|数据元素|数据结构|数据类型18、在计算机的存储器中表示时,物理地址和逻辑地址直接对应并且是连续的,称之为_____.逻辑结构|顺序存储结构|链式存储结构|以上都对19、数据采用链式存储结构时,要求_____.每个结点用占一片连续的存储区域|所有结点占用一片连续的存储区域|结点的最后一个数据域是指针类型|每个结点有多少个后继,就设多少个指针域20、数据的运算_____.效率与采用何种存储结构有关|是根据存储结构来定义的|有算术运算和关系运算两大类|必须用程序设计语言来描述21、下列说法中,不正确的是_____.数据元素是数据的基本单位|数据项是数据中不可分割的最小可标识单位|数据可由若干个数据元素构成|数据项可由若干个数据元素构成22、_____不是算法的基本特性.可行性|长度有限|在规定的时间内完成|确定性23、计算机中算法指的是解决某一问题的有限运算序列,它必须具备输入、输出、_____.可行性、可移植性和可扩充性|可行性、有穷性和确定性|确定性、有穷性和稳定性|易读性、稳定性和确定性24、以下不属于算法特性的是_____.可行性|有输入|确定性|健壮性25、下面关于算法的说法正确的是_____.算法最终必须由程序实现|算法的有穷性是对于任意的一组输入值必须在有穷步骤后结束|算法的可行性是指指令不能有二义性|以上几个都是错误的26、算法的时间复杂度与______有关问题规模|计算机硬件性能|编译程序质量|程序设计语言27、算法分析的主要任务是分析_____.算法是否具有较好的可读性|算法中是否存在语法错误|算法的功能是否符合设计要求|算法的执行时间和问题规模之间的关系28、某算法的时间复杂度为O(n2),表明该算法的_____.问题规模是n2|执行时间等于n2|执行时间与n2成正比|问题规模与n2成正比29、算法分析的目的是_____.找出数据结构的合理性|研究算法中输入和输出关系|分析算法的效率以求改进|分析算法的易读性和文档性30、线性表是具有n个______的有限序列。
数据结构c语言版试题大全(含答案)
数据结构c语言版试题大全(含答案)数据结构C语言版试题大全(含答案)第一章:基本概念与算法设计1.1 数据结构的定义与特点数据结构是指相互之间存在一种或多种特定关系的数据元素的集合,它包括了数据的存储、组织和管理方式。
数据结构的特点包括以下几个方面:- 数据元素之间存在某种关系,构成逻辑结构- 对数据元素的操作对应于对其逻辑结构的操作- 数据结构有存储结构,包括顺序存储结构和链式存储结构- 算法是对数据结构的操作步骤的描述和实现1.2 算法的基本概念算法是解决特定问题或完成特定任务的一系列操作步骤。
算法的基本概念包括以下几个方面:- 有穷性:算法必须能在有限步骤内完成- 确定性:算法的每一步骤必须有确定的含义和结果- 可行性:算法的每一步骤必须可行,能够通过执行有限次数实现- 输入:算法接受的输入数据是原始问题的实例- 输出:算法产生的输出数据与输入有明确的关系1.3 算法的描述方法算法可以用自然语言、伪代码或流程图来描述。
常用的伪代码描述方法包括结构化语言和算法描述语言,结构化语言包括顺序结构、分支结构和循环结构。
第二章:线性结构2.1 线性表的定义与基本操作线性表是n个数据元素的有限序列,其中相邻元素之间存在唯一的前驱和后继关系。
线性表的基本操作包括插入、删除、查找和修改等。
2.2 数组与广义表数组是指具有相同数据类型的一组数据元素的集合,可以通过下标访问元素。
广义表是线性表的推广,其中元素可以是基本数据类型或另一个广义表。
第三章:树与二叉树3.1 树的定义与基本术语树是n(n≥0)个结点的一个有限集合,其中满足以下条件:- 有且仅有一个特定的称为根的结点- 其余结点可分为m(m≥0)个互不相交的有限集合,每个集合本身又是一棵树3.2 二叉树的定义与性质二叉树是指每个结点最多有两个子结点的树结构。
二叉树的性质包括以下几个方面:- 深度为k的二叉树最多有2^k-1个结点- 一棵二叉树的第i层最多有2^(i-1)个结点- 在二叉树的第i层上至多有2^(n-i+1)-1个结点(n为树的深度)第四章:图4.1 图的基本概念与术语图是由顶点的有穷非空集合和边的有穷集合组成的。
数据结构习题集(积分)
6.若将n阶下三角矩阵A,按列优先顺序压缩存放在一维数组F[n(n+1)/2]中,第一个非零元素a11,存于F[0]中,则应存放到F[K]中的非零元素aij(1≤j≤n,1≤j≤i)的下标i,i与K的对应关系是(6)。
(6):A.(2n-j+1)j/2+I-j B.(2n-j+2)(j-1)/2+i-j
第二章线性表
一、单项选择题
1.下面关于线性表叙述中,错误的 是_(1)_。
(1):A.顺序表必须占用一片地址连续的存储单元
B.链表不必占用一片地址连续的存储单元
C.顺序表可以随机存取任一元素
D.链表可以随机存取任一元素
2.在表长为n的单链表中,算法时间复杂度为O(n)的操作是(2)。
(2):A.查找单链表中第i个结点B.在p结点之后插入一个结点
(2)在p结点前插入s结点的语句序列是:
s->prior=p->prior;s->next=p;(13);(14)
(3)删除p结点的直接后继结点的语句序列是:
q=p->next;p->next=q->next;(15);free(q);
(4)删除p结点的直接前驱结点的语句序列是:
q=p->prior;p->prior=q->prior;(16);free(q);
B.Loc(a[0][0])+[i*n+j]*d
C.Loc(a[0][0]+[j*m+i]*d
D.Loc(a[0][0])+[(j-1)*m+i-1]*d
3.设二维数组A[m][n],每个数组元素占d个存储单元,第1个数组元素的存储地址是Loc(a[0][0]),求按列优先顺序存放的数组元素a[j][j](0≤i≤m-1,0≤j≤n-1)的存储地址(3)。
(完整word版)数据结构试卷及答案(word文档良心出品)
注意事项:1、下面关于串的叙述中,哪一个是不正确的?( )A .串是字符的有限序列B .空串是由空格构成的串C .模式匹配是串的一种重要运算D .串既可以采用顺序存储,也可以采用链式存储 2、设无向图的顶点个数为n ,则该图最多有( )条边。
A .n-1B .n(n-1)/2C . n(n+1)/2D .0 3、以下数据结构中,( )是非线性数据结构。
A .树B .字符串C .队列D .栈 4、下面关于线性表的叙述中,错误的是哪一个?( )A .线性表采用顺序存储,必须占用一片连续的存储单元。
B .线性表采用顺序存储,便于进行插入和删除操作。
C .线性表采用链接存储,不必占用一片连续的存储单元。
D .线性表采用链接存储,便于插入和删除操作。
5、假设以数组A[m]存放循环队列的元素,其头尾指针分别为front 和rear ,则当前队列中的元素个数为( )。
A .(rear-front+m)%mB .rear-front+1C .(front-rear+m)%mD .(rear-front)%m6、在单链表指针为p 的结点之后插入指针为s 的结点,正确的操作是( )。
A .p->next=s; s->next=p->next;B .s->next=p->next; p->next=s;C .p->next=s; p->next=s->next;D .p->next=s->next; p->next=s; 7、设栈的输入序列是1,2,3,4,则( )不可能是其出栈序列。
A .1,2,4,3B .2,1,3,4C .1,4,3,2D .4,3,1,2, 8、广义表(a,(b,c),d,e )的表头和表尾分别为( )。
A .a 和(b,c),d,e B .(a )和(b,c),d,eC .a 和 ((b,c),d,e)D .(a) 和((b,c),d,e)9、栈和队都是( )A .顺序存储的线性结构B .链式存储的非线性结构C .限制存取点的线性结构D .限制存取点的非线性结构 10、从逻辑上可以把数据结构分为( )两大类。
数据结构期中试题
河北北方学院2012-2013学年第一学期期中考试试卷 《数据结构》 (供11级计算机科学与技术使用) 注意事项: 1.请按要求在试卷的密封区填写专业、班级、姓名和学号。
2.请仔细阅读各种题目的答题要求,在规定的位置填写答案。
3.不要在试卷上乱写乱画,不要在密封区填写无关的内容。
总分合计人: 复核人: 一、单选题 (每题2分,共30分) 1、下列算法是时间复杂度是___。
for(i=0;i<n;i++) for(j=0;j<n;j++) c[i][j]=i+j; A ) O (1) B)O (n ) C) O (log 2n )D ) D)O (n2) 2、算法指的是___。
A)计算机程序 B)解决问题的答案 C)排序算法 D)解决问题的有限运算序列 3、下面关于线性表的叙述中,错误的是___。
A)线性表采用顺序存储,必须占用一片连续的存储单元。
B)线性表采用顺序存储,便于进行插入和删除操作。
C)线性表采用链接存储,不必占用一片连续的存储单元。
D)线性表采用链接存储,便于插入和删除操作。
4、链接存储的存储结构所占存储空间:___。
A)分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针 B)只有一部分,存放结点值专业________ 班级________ 姓名__________学号________ ………………………………………密…………………………………封………………………………………线……………………………………………C)只有一部分,存储表示结点间关系的指针D)分两部分,一部分存放结点值,另一部分存放结点所占单元数5、在n 个结点的顺序表中,算法的时间复杂度是O (1)的操作是___。
A)访问第i 个结点(1≤i ≤n )和求第i 个结点的直接前驱(2≤i ≤n )B)在第i 个结点后插入一个新结点(1≤i ≤n )C)删除第i 个结点(1≤i ≤n ) D)将n 个结点从小到大排序6、线性表若采用链式存储结构时,要求内存中可用存储单元的地址 ___。
中北大学 计算机组成与体系结构 2010期末考试试题
2010/2011 学年 第 一 学期末考试试题(A 卷)课程名称 计算机组成与体系结构使用班级: 08060343,08060344,08060345,08060346一、 单项选择题(共20分,每小题 2 分,答案必须写到下表中,否则不计分)1、设X=-0.101101,则[X]补为______。
A.1.101111B.1.010011C.1.010010D.1.100111 2、定点32位字长的字,采用补码形式表示时,一个字所能表示的整数范围是______。
A .-231 ~ +(231 -1)B .-(231 –1)~ +(231 –1)C .-(231 + 1)~ +231D .-231 ~ +231 3、 某机字长16位,其中1位符号位,15位数值位。
若用定点小数表示,则最大正小数为______。
A .+(1 – 2-16)B .+(1 – 2-15)C .2-16D .2-154、(1997)10化成十六进制数是______。
A .(7CD )16 B.(7D0)16 C.(7E0)16 D.(7F0)16 5、下列数中最小的数是______。
A .(10011001)2 B.(227)8 C.(98)16 D.(312)10 6、若浮点数用补码表示,则判断运算结果是否为规格化数的方法是______。
A .阶符与数符相同为规格化数B .阶符与数符相异为规格化数C .数符与尾数小数点后第一位数字相异为规格化数D .数符与尾数小数点后第一位数字相同为规格化数 7、微程序存放在( )A .堆栈中B .主存中C .控制存储器中D .磁盘中8、比较硬布线控制器和微程序控制器,下列说法正确的是( )A.硬布线控制器结构简单规整B.硬布线控制器执行速度慢C.微程序控制器执行速度快D.微程序控制器容易实现复杂指令控制9、算术/ 逻辑运算单元74181ALU可完成______。
A.16种算术运算功能B.16种逻辑运算功能C.16种算术运算功能和16种逻辑运算功能D.4位乘法运算和除法运算功能10、某SRAM芯片,存储容量为16K×8位,该芯片的地址线和数据线数目为______。
中北大学
中北大学本科培养方案(2013 级使用)专业名称软件工程(电子设计与信息处理软件开发)专业代码 080902学院名称软件学院培养方案执笔人签字学科(术)带头人签字教学院长签字院长签字2013年4月软件工程专业(电子设计与信息处理软件开发)培养方案培养目标:本专业培养德、智、体等方面全面发展,掌握自然科学和人文社科基础知识,系统地掌握信息处理等方面的基本理论、基本知识和基本技能与方法,掌握有关信息处理软件应用、设计及开发方面知识的高素质软件工程人才。
培养要求:本专业学生主要学习自然科学和人文社科基础知识,学习计算科学、软件工程相关的基础理论和基本知识,接受软件工程的基本训练,具有软件开发实践的基本能力和初步经验、软件项目组织的基本能力以及基本的工程素养,具有初步的创新和船业意识、竞争意识和团队精神,具有良好的外语运用能力。
毕业生应获得以下几方面的知识和能力:1.掌握基本的人文和社会科学知识,具有良好的人文社会科学素养、职业道德和心理素质,社会责任感强;2.掌握本专业领域宽广的技术基础理论知识,适应电子和信息工程方面广泛的工作范围;3.掌握信息获取、处理的基本理论和应用的一般方法,具有设计、集成、应用及计算机模拟信息系统的基本能力;4.了解电子设备和信息系统的理论前沿和发展趋势,有较强的自主学习能力,具有开发新系统、新技术的初步能力;5.具有综合运用掌握的知识、方法和技术解决实际问题的能力,能够权衡和选择各种设计方案,使用适当的行业开发工具设计和开发软件系统,能够建立规范的系统文档;6.充分理解团队合作的重要性,具有个人工作和团队协作的能力、人际交往和沟通能力以及一定的组织管理能力;7.具有初步的外语应用能力、能阅读本专业的外文材料,具有一定的国际视野和跨文化交流、竞争与合作能力;8.了解软件工程学科的前沿技术和软件行业的发展动态,在基础研发、工程设计和实践等方面具有一定的创新意识和创新能力;主干学科:软件工程主要实践教学:程序设计实训、面向对象程序设计(JAVA)实训、数据结构与算法课程设计、数据库课程设计、操作系统课程设计、电子线路综合实践、信息处理综合实践、专业实习、毕业设计(论文)等。
中大实践考核数据结构试题和答案(上机考试)
数据结构样题1、已知整数a、b,假设函数succ(x)=x+1、pred(x)=x-1,不许直接用“+”、“-”运算符号,也不许用循环语句,只能利用函数succ( )和pred( ),试编写计算a+b,a-b的递归函数add(a,b),sub(a,b),并在主程序中验证函娄的正确性。
#include "stdio.h"#include "conio.h"int succ(int x){return x+1;}int pred(int x){return x-1;}int add(int a,int b){if(b==0) return a;if(b>0) return succ(add(a,pred(b)));else return pred(add(a,succ(b)));}int sub(int a,int b){if(b==0) return a;if(b>0) return pred(sub(a,pred(b)));else return succ(sub(a,succ(b)));}void main(){int k,a,b;clrscr();printf("\n Please input a b: ");scanf("%d%d",&a,&b);printf("\n a+b=%d",a+b);printf("\n a-b=%d",a-b);printf("\n add(a,b)=%d",add(a,b));printf("\n sub(a,b)=%d",sub(a,b));if((a+b==add(a,b))&&(a-b==sub(a,b)))printf("\n It's right! ");else printf("\n It's wrong! \n\n");}样题2 试编写一个求解Josephus问题的函数。
数据结构考试试题库含答案解析
数据结构习题集含答案目录目录 (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 )。
13级《数据结构》期中试卷(打印)
A.先进先出,先进后出;B.先进先出,先进先出;
C.先进后出,先Biblioteka 先出;D.先进后出,先进后出.11.有6个元素按6,5,4,3,2,1的顺序进栈,问下列哪一个不是合法的出栈序列( )。
A.5,4,3,6,1,2;B. 4,5,3,1,2,6;C.3,4,6,5,2,1;D. 2,3,4,1,5,6.
}
}
2.已知有如下定义
typedef struct LNode {
int data;
struct LNode *next;}*LinkList, LNode ;
则下列算法的功能是
ListList Demo(LinkList L)
{
ListNode *Q,*P;
if (L&&L->next)
{
Q=L;
2.数据元素及其关系在计算机存储器内的表示,称为数据的。
3.设顺序表第1个元素的存储地址是2000,每个元素占4个字节,则第41个元素的存储地址是。
4.线性表中的每个结点最多有________前驱和____________后继。
5.在有n个结点的单链表中,要删除指针p所指结点,需要找到它的。
6.栈是限制仅在表一端进行插入和删除运算的线性表,通常将这一端称为。
Push(S,y); x=Pop(S);
Push(S,’E’); Push(S,x);
x=Pop(S); Push(S,’H’);
while(!StackEmpty(S)){
y=Pop(S); putchar(y);
}
putchar(x);
得分
五、算法设计题(共25分)
1.用顺序表实现:有10本图书,每本图书的数据有:书号,价格;设计算法input( )从键盘上输入10本图书的数据;设计算法average( )计算10本书的平均价格并输出。(14分)
中北大学 数据结构习题
(2)删除P结点的直接前趋结点的语句序列是【】。
(3)删除P结点的语句序列是【】。
(4)删除首元结点的语句序列是【】。
(5)删除尾元结点的语句序列是【】。
(A)P=P->next;
(B)P->next=P;
(C)P->next=P->next->next;
有程序段二:
void main()
{
Queue Q;
InitQueue(Q);
char x='e',y='c';
EnQueue(Q,'h');EnQueue(Q,'r');EnQueue(Q,y);
DeQueue(Q,x);
EnQueue(Q,x);
DeQueue(Q,x);
EnQueue(Q,'a');
(5)(I)(K)(C)(N)
得分
三、假设用于通信的电文仅由8个字母组成,分别是:A、B、C、D、E、F、G、H,各字母在电文中出现的频率分别为0.08,0.20,0.01,0.06,0.31,0.04,0.22,0.10。在为这8个字母设计哈夫曼编码时,请构造出一棵哈夫曼树,并给出各字母的哈夫曼编码。(共10分)
}
执行后队的状态是(由队头到队尾给出队中的数据)【】。
4、设串s='I AM ASTUDENT',则StrLength(s)=【】,SubString(s,8,7)=【】
5、有广义表L1=(p,h,w),L2=(b,k,p,h),则GetHead(L1)=【】,GetTail(L2)=【】。
6、有如下树
中北大学 数据结构习题
《算法与数据结构》习题第一到三章习题选择题1.对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为(C )。
A.O(n) O(n) B. O(n) O(1) C. O(1) O(n) D. O(1) O(1)2.非空的循环单链表head的尾结点p满足(A )。
A.P->next=head B.P->next=NIL C.p=NIL D.p= head3.在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:( B)。
A.p->next=s;s->next=p->next; B. s->next=p->next;p->next=s;C.p->next=s;p->next=s->next; D. p->next=s->next; p->next=s;4.在双向链表指针p的结点前插入一个指针q的结点操作是( C)注:双向链表的结点结构为(pre,data,next)。
A. p->pre=q;q->next=p;p->pre->next=q;q->pre=q;B. p->pre=q;p->pre->next=q;q->next=p;q->pre=p->pre;C. q->next=p;q->pre=p->pre;p->pre->next=q;p->pre=q;D. q->pre=p->pre;q->next=q;p->pre=q;p->pre=q;5.栈的特点是(①B ),队列的特点是(② A),栈和队列都是(A③ A )。
若进栈序列为1,2,3,4 则(④C )不可能是一个出栈序列(不一定全部进栈后再出栈);若进队列的序列为1,2,3,4 则(⑤ E)是一个出队列序列。
①, ②: A. 先进先出 B. 后进先出 C. 进优于出 D. 出优于进③: A.顺序存储的线性结构 B.链式存储的线性结构C.限制存取点的线性结构D.限制存取点的非线性结构④, ⑤: A. 3,2,1,4 B. 3,2,4,1 C. 4,2,3,1 D. 4,3,2,1 E. 1,2,3,4 F. 1,3,2,46.一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i (1<=i<=n)个元素是( B )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2012-2013 学年第 2 学期末考试试题(A卷)课程名称计算机程序设计基础使用班级:12050841一、判断题(共20 分每小题 2分)1不论是入队操作还是入栈操作,在顺序存储结构上都需要考虑“溢出”情况。
()2当向二叉排序树中插入一个结点,则该结点一定成为叶子结点。
()3完全二叉树中的叶子结点只可能在最后两层中出现。
()4哈夫曼树中没有度数为1的结点。
()5对连通图进行深度优先遍历可以访问到图中的所有顶点。
()6先序遍历一查二叉排序树一定可以得到一个有序序列。
()7线性表中的所有元素都有一个前驱元素和一个后继元素。
()8 满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树。
()9 调用一次深度优先遍历算法可以访问到图中的所有顶点。
()10 栈和队列的共同特点是只允许在表的一端进行插入和删除操作。
()二、运算题(共40 分)1请根据你的理解,给出数据结构的定义。
(6分)2请给出稀疏矩阵的概念,举一实例,并给出此实例的三元组表示。
(10分)3有6个元素A、B、C、D、E、F一次进栈,允许任何时候出栈,能否得到下列的每个出栈序列,若能,给出栈操作的过程,若不能,简述其理由。
(10分)(1)CDBEFA (2)ABEDFC (3)DCEABF (4)BAEFCD4 一个AOV网的二元组表示为:V={0,1,2,3,4,5,6,7,8,9,10}E={<0,2>,<0,4>,<1,2>,<1,5>,<2,4>,<3,5>,<4,6>,<4,7>,<5,7>,<6,8>,<7,6>,<7,8>,<7,9>,< 8,10>,<9,10>}在此AOV网的邻接表存储中,若各顶点邻接表中的边接结点是按照邻接顶点序号从大到小链接的,请写出按此邻接表和介绍的拓扑排序算法得到的拓扑序列。
提示:先画出图形再运算。
(14分,画出图形得4分,正确写出拓扑序列得10分)三、算法设计题(40分)1 从单链表中查找出所有元素的最大值,该值由函数返回,若单链表为空,则显示出错信息并停止运行,设单链表的节点类型为Lnode。
(10分)Struct Lnode{int data;Lnode* next;}2 从线性表中删除具有最小值的元素并由函数返回,空出的位置由最后一个元素填补,若线性表为空则显示出错信息并退出运行。
(10分)3 已知一个集合中的元素为正整数或负整数,设计一个算法,将正整数和负整数分开,使集合的前部分为负整数,后部分为正整数,不要求对它们排序,但要求尽量减少交换次数。
函数原型如下。
Void separate(int s[],int n)(10分)4写出直接插入排序的算法,并用该方法对序列(46,74,16,53,14,26,40,38,86,65,27,34)进行排序。
2012-2013 学年第 2 学期末考试试题答案及评分标准(A卷)课程名称计算机程序设计基础使用班级:12050841一、判断题(共20 分每小题 2分)1不论是入队操作还是入栈操作,在顺序存储结构上都需要考虑“溢出”情况。
(√)2当向二叉排序树中插入一个结点,则该结点一定成为叶子结点。
(√)3完全二叉树中的叶子结点只可能在最后两层中出现。
(√)4哈夫曼树中没有度数为1的结点。
(√)5对连通图进行深度优先遍历可以访问到图中的所有顶点。
(√)6先序遍历一二叉排序树一定可以得到一个有序序列。
(×)7线性表中的所有元素都有一个前驱元素和一个后继元素。
(×)8 满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树。
(√)9 调用一次深度优先遍历算法可以访问到图中的所有顶点。
(×)10 栈和队列的共同特点是只允许在表的一端进行插入和删除操作。
(√)二、运算题(共40 分)1请根据你的理解,给出数据结构的定义。
(6分)逻辑结构如集合、线性表(2分)物理结构如顺序存储结构、链接存储结构(2分)操作如插入、删除(2分)2请给出稀疏矩阵的概念,举一实例,并给出此实例的三元组表示。
(10分)非零元素的个数远远小于零元素的个数的矩阵。
2分3 0 0 5 0 00 0 -2 0 0 01 0 4 0 0 00 0 0 0 0 0(4分)稀疏矩阵所对应的三元组线性表表示为:(4分)((1,1,3),(1,4,5),(2,3,-2),(3,1,1),(3,3,4))3有6个元素A、B、C、D、E、F一次进栈,允许任何时候出栈,能否得到下列的每个出栈序列,若能,给出栈操作的过程,若不能,简述其理由。
(10分)(1)CDBEFA (2)ABEDFC (3)DCEABF (4)BAEFCD(1)能(2)能(3)不能(4)不能4 一个AOV网的二元组表示为:V={0,1,2,3,4,5,6,7,8,9,10}E={<0,2>,<0,4>,<1,2>,<1,5>,<2,4>,<3,5>,<4,6>,<4,7>,<5,7>,<6,8>,<7,6>,<7,8>,<7,9>,< 8,10>,<9,10>}在此AOV网的邻接表存储中,若各顶点邻接表中的边接结点是按照邻接顶点序号从大到小链接的,请写出按此邻接表和介绍的拓扑排序算法得到的拓扑序列。
提示:先画出图形再运算。
(14分,画出图形得4分,正确写出拓扑序列得10分)4分)拓扑序列为:3,1,5,0,2,4,7,6,8,9,10 (10分)三、算法设计题(40分)1 从单链表中查找出所有元素的最大值,该值由函数返回,若单链表为空,则显示出错信息并停止运行,设单链表的节点类型为Lnode。
(10分)Struct Lnode{int data;Lnode* next;}ElemType Findmax(Lnode*&HL){If(HL==NULL){ cerr<<”链表为空”<<endl;exit(1);}(2分)Lnode *P=HL;ElemType max=HL->data;(2分)While(P!=NULL){P=P->next;If(P->data>max)max=p->data;}(4分)return max;(2分)}2 从线性表中删除具有最小值的元素并由函数返回,空出的位置由最后一个元素填补,若线性表为空则显示出错信息并退出运行。
(10分)ElemType Deletemin(List&L){If(L.list==NULL){ cerr<<”线性表为空”<<endl;exit(1);}(2分)ElemType min=L.list[0];For(int i=1;i<L.size;i++)If(L.list[i]<min){min=L.list[i];int k=i;}(4分)L.list[k]=L.list[L.size-1];(2分)L.size--;Return min;(2分)}3 已知一个集合中的元素为正整数或负整数,设计一个算法,将正整数和负整数分开,使集合的前部分为负整数,后部分为正整数,不要求对它们排序,但要求尽量减少交换次数。
函数原型如下。
Void separate(int s[],int n)(10分,可参考快速排序算法)Void separate(int s[],int n){Int i=0,j=n-1;(2分)While(i<=j){While(s[i]<0&&i<=j)i++; (2分)While(s[j]>0&&j>=i)j--;(2分)If(i<j){Int temp=s[i];s[i]=s[j];s[j]=temp;(2分)I++;j--;}(2分)}}4写出直接插入排序的算法,并用该方法对序列(46,74,16,53,14,26,40,38,86,65,27,34)进行排序。
Void InsertSort(ElemType A[],int n){ElemType x;Int i,j;(2分)For(i=1;i<n;i++){X=A[i];(2分)For(j=i-1;j>=0;j--)If(x.stn<A[j].stn)A[j+1]=A[j];(4分)Else break;A[j+1]=x;(2分)}}第11 页共11 页。