数据结构A

合集下载

数据结构 试题(A)-答案

数据结构 试题(A)-答案
评分标准:有向图、无向图两种存储方式各占4分。
3.建立平衡二叉树过程如图2所示(图中加阴影的结点表示要调整的结点)。
图2构造平衡二叉树过程
评分标准:每次调整占1分。
4.答:不能。因为在这里,二分查找只减少了关键字间的比较次数,而记录的移动次数不变,时间的复杂度仍为O(n2)。
评分标准:答对“不能”占3分,说明理由占5分。
A.872B.860
C.868D.864
8.一个具有1025个结点的二叉树的高h为。
A.11B.10
C.11~1025D.12~1024
9.一棵二叉树的后序遍历序列为DABEC,中序遍历序列为DEBAC,则先序遍历序列为。
A.ACBEDB.DECAB
C.DEABCD.CEDBA
10.对图1所示的无向图,从顶点1开始进行深度优先遍历;可得到顶点访问序列。
2.给出如下各种情况下求任意一个顶点的度的过程(只需文字描述):(8分)
(1)含n个顶点的无向图采用邻接矩阵存储;
(2)含n个顶点的无向图采用邻接表存储;
(3)含n个顶点的有向图采用邻接矩阵存储;
(4)含n个顶点的有向图采用邻接表存储。
3.将整数序列{4,5,7,2,1,3,6}中的数依次插入到一棵空的平衡二叉树中,试构造相应的平衡二叉树。(要求画出每个元素插入过程,若需调整,还需给出调整后的结果,并指出是什么类型的调整,12分)
A.输出第i(1≤i≤n)个元素值
B.交换第1个元素与第2个元素的值
C.顺序输出这n个元素的值
D.输出与给定值x相等的元素在线性表中的序号
4.设n个元素进栈序列是p1,p2,p3,…,pn,其输出序列是1,2,3,…,n,若p3=3,则p1的值。
A.可能是2B.一定是2

数据结构试题集(包含答案-完整版)

数据结构试题集(包含答案-完整版)

数据结构试题集(包含答案-完整版)数据结构试题集(包含答案-完整版)1. 单选题1) 数据结构是一种()。

a) 存储结构b) 算法c) 数据模型d) 网络答案:c) 数据模型解析:数据结构是一种用于组织和存储数据的方式,描述了数据之间的关系以及对数据的操作。

2) 以下哪种数据结构可以通过索引直接访问元素?a) 链表b) 队列c) 栈d) 数组答案:d) 数组解析:数组是一种线性数据结构,可以通过索引直接访问指定位置的元素。

2. 多选题1) 哪些数据结构属于非线性结构?()a) 队列b) 树c) 栈d) 图答案:b) 树d) 图解析:线性结构中的元素存在一对一的关系,非线性结构中的元素存在一对多或多对多的关系,树和图属于非线性结构。

2) 下列哪些操作可以在栈上进行?()a) 入栈b) 出栈c) 查找d) 删除答案:a) 入栈b) 出栈解析:栈是一种后进先出(LIFO)的数据结构,只能在栈顶进行插入和删除操作。

3. 简答题1) 请简要介绍线性表和非线性表。

答案:线性表是数据元素的一个有限序列,元素之间存在一对一的关系。

非线性表是指元素之间存在一对多或多对多的关系,如树和图。

2) 请解释什么是时间复杂度和空间复杂度。

答案:时间复杂度是衡量算法执行效率的度量,表示算法的运行时间随输入规模增长的速度。

空间复杂度是指算法执行过程中所需的存储空间随输入规模增长的速度。

4. 编程题题目:实现一个栈,包含push、pop和getMin三个操作,要求时间复杂度为O(1)。

答案:class MinStack:def __init__(self):self.stack = []self.min_stack = []def push(self, x):self.stack.append(x)if not self.min_stack or x <= self.min_stack[-1]:self.min_stack.append(x)def pop(self):if self.stack.pop() == self.min_stack[-1]:self.min_stack.pop()def getMin(self):return self.min_stack[-1]解析:在栈的基础上,使用一个辅助栈min_stack来记录当前栈中的最小值。

数据结构试题A

数据结构试题A

《数据结构》试卷A一、选择题(20小题,每题2分)1、三个函数f,g,h分别为f(n)=100n3+n2+1000 , g(n)=25n3+5000n2, h(n)=n1.5+5000nlgn ,则下列关系不成立的是:A. f(n)=O(g(n)) B. g(n)=O(f(n))C. h(n)=O(n1.5)D. h(n)=O(nlgn)2、线性表是:A.一个有限序列,可以为空;B. 一个有限序列,不能为空;C. 一个无限序列,可以为空;D. 一个无序序列,不能为空。

3、线性表采用链式存储时,其地址:A.必须是连续的;B. 部分地址必须是连续的;C. 定是不连续的;D. 连续与否均可以。

4、对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。

插入一个元素时大约要移动表中的()个元素。

A.n/2B. n+1/2C. n-1/2D. n5、设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需修改指针的操作为()。

A.p->next=(p->next)->nextB. p=p->nextC. p=(p->next)->nextD. p->next=p6、栈的特点是:A.先进先出B. 后进先出C. 进优于出D. 出优于进7、栈与队列都是:A.顺序存储的线性结构B. 链式存储的线性结构C. 限制存取点的线性结构D. 限制存取点的非线性结构8、若一个栈的输入序列是:1,2,3,...,n,输出序列的第一个元素是n,则第i个输出元素是:A.不确定B. n-iC. n-i+1D. i9、设字符串s1='ABCDEFG',s2='PQRST',则运算s=CONCAT(SUB(s1,2,LEN(s2)),SUB(s1,LEN(s2),2))后的串值为:A.‘BCDEF’B. ‘BCDEFG’C. ‘BCPQRST’D. ‘BCDEFEF’10、串的联结运算满足:A.分配律B. 交换律C. 结合律11、设有两个串p 和q ,求q 在p 中首次出现的位置的运算:A.连接B. 模式匹配C. 求子串D. 求串长12、设二维数组A5*6的每个元素占4个字节,已知Loc(a00)=1000,A的终端结点a45的起始地位是A.1126 B. 1116 C. 1000 D. 103013、如果结点A有3个兄弟,而且B是A的双亲,则B的度是:A. 3B. 4C. 5D. 114、中序遍历的顺序是:A.根结点,左子树,右子树B. 左子树,根结点,右子树C. 右子树,根结点,左子树D. 左子树,右子树,根结点15、某二叉树T有n个结点,设按某种顺序对T中的每个结点进行编号,编号值为1,2,...n.且有如下性质:T中任意结点v,其编号等于左子树上的最小编号减一,而v的右子树的结点中,其最小编号等于v左子树上结点的最大编号加一,这时按( )编号的.A.中序遍历序列B. 层次顺序C. 后序遍历序列D. 前序遍历序列16、在下图所示的各无向图中,哪个不是连通图:17、静态查找表与动态查找表的根本区别在于( )。

(完整版)中国海洋大学06-07数据结构第1学期A卷+答案

(完整版)中国海洋大学06-07数据结构第1学期A卷+答案

中国海洋大学命题专用纸(首页)2006学年第 1 学期试题名称:数据结构 (A卷) 共 2 页第 1 页专业年级:学号姓名授课教师分数一、简答下列术语:(10分)1、算法的时间复杂度2、栈与队列的异同3、完全二叉树、二叉排序树二、填空(10分)1、在双向循环链表L中,删除指针P所指结点的语句序列是,,free(p)。

2、将下三角矩阵A[1..8,1..8]的下三角部分逐行地存储到起始地址为1000的内存单元中.已知每个元素占4个单元,则A(6,4)的地址为。

3、高度为5的三阶B-树至少有个结点。

4、分别采用堆排序、快速排序、插入排序和归并排序算法对初始状态已为递增序列的数据表进行递增排序,最省时间的是算法。

三、(8分)已知一棵二叉树的中序序列是dcbgeahfijk,后序序列是dcegbfhkjia,请构造出该二叉树。

四、(10分)假设用于通信的电文仅由8个字母组成,字母在电文中出现的频率分别是0.07,0.08,0.13,0.22,0.18,0.23,0.04,0.05。

请设计它们相应的哈夫曼编码。

使用0~7的二进制表示形式是另一种编码方案,请比较两种方案的优缺点。

五、(10分)设散列表地址空间为0..6,散列函数为H(x)=i mod 7,其中i为键值x中第一个字母在字母表中的序号,若键值的输入序列为Jen,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec,用链地址法处理冲突,1)构造散列表;2)求出在等概率情况下,查找成功时的平均查找长度。

六、(15分)(1)对下列数据表,写出采用希尔排序算法排序的每一趟的结果。

(100,12,20,31,1,5,44,66,61,200,30,80,150,4,8)(2)对下列数据表,写出采用快速排序算法排序的第一趟的结果。

(70,12,20,150,44,66,61,200,30,80,28)授课教师张海燕命题教师或命题负责人签字院系负责人签字年月日中国海洋大学命题专用纸(附页)if (!m) return 0;n=Paixu(T→rchild); if (!n) return 0;}return 1;}。

专科《数据结构》_试卷_答案

专科《数据结构》_试卷_答案

专科《数据结构》一、 (共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。

标准答案:C9. 深度为4的二叉树,第4层至少有()个结点. (2分)A。

0 B.1 C。

8 D.15。

标准答案:B10. 若二叉树对应的二叉链表共有11个非空链域,则该二叉树有()个结点的二叉树。

(2分)A.10 B。

11 C。

20 D.21.标准答案:A11。

下面叙述错误的是()。

(2分)A。

借助于队列可以实现对二叉树的层遍历B.栈的特点是先进后出C.对于单链表进行插入操作过程中不会发生上溢现象D。

在无向图的邻接矩阵中每行1的个数等于对应的顶点度。

标准答案:C12. 以下与数据的存储结构无关的术语是()。

(2分)A。

循环队列 B.双向链表 C。

数据结构A第1章(南邮)

数据结构A第1章(南邮)
ADT 1.1 栈抽象数据类型 ADT Stack { Data: (描述逻辑结构) 0个或多个元素的线性序列(a0,a1, ,an-1), 遵循LIFO原则。 Operations: (描述运算的定义) Create():创建一个空栈。 Destroy():撤消一个栈。 Push(x):元素x插入栈顶。 Pop():删除栈顶元素。 Top(x):在x中返回栈顶元素。 }
程序步数为2n+3。
41
1.5.3 渐近时间复杂度
渐近时间复杂度
使用大 O 记号表示的算法的时间复杂性,称为算法的渐
近时间复杂度,简称时间复杂度。
大O记号 如果存在两个正常数 c 和 n0 ,使得对所有的 n , nn0 ,有 f(n) c g(n) 则有 f(n)=O(g(n))。
42
渐近时间复杂度 使用大 O 记号表示的算法的时间复杂性,称为算法的渐
结点存储块分成两部分,元素本身和该元素后继元素所 在结点的存储地址。
Data
Link
20
小结
逻辑结构 概念
面向 关系
存储结构 数据及其关系在计 算机内的组织方式 面向计算机
数据元素之间逻 辑关系的描述 面向应用问题
存储结构是逻辑结构在计算机内的映像
21
1.2.4 数据结构的运算
• 数据结构最常见的运算 创建运算:创建一个数据结构; 清除运算:删除数据结构中的全部元素; 插入运算:在数据结构的指定位置上插入一 个新元素; 删除运算:将数据结构中的某个元素删除; ……
2.
数据类型 一个数据类型定义了一个值的集合以及作 用于该值集的操作的集合。 即一组值和一组操作。
26
3.抽象数据类型 抽象数据类型( Abstract Data Type, ADT )是一个 数据类型,其主要特征是该类型的对象及其操作的规 范 , 与该类型对象的表示和操作的实现分离,实行封 装和信息隐蔽,即使用和实现分离。 使用和实现分离:使用者通过规范使用该类型的数据,

数据结构试卷A

数据结构试卷A

生答题不得过此线··密····························封·························线···························· 院系 专业年级 班级 姓名 学号··················装····························订·························线···························· 一、选择填空题(每题只有1个正确答案,每题1分,共20分)1.从逻辑上可以把数据结构分为( )两大类。

数据结构试题A答案

数据结构试题A答案

数据结构试题A答案陕西科技⼤学试题纸(A参考答案及评分标准)课程数据结构班级信息、数学05学号姓名请在每⼩题的四个备选答案中,选出⼀个正确的答案,并将其号码填在括号内。

1.设⼀个栈的输⼊序列为1,2,3,4,则借助⼀个栈所得的输出序列不可能是(D)。

A.1,2,3,4 B.4,3,2,1C.1,3,4,2 D.4,1,2,32. 设有80⾏的⼆维数组A[80][60],其元素长度为4字节,按⾏优先顺序存储,基地址为300,则元素A[18][25]的存储地址为(D)。

A.3800 B.4376 C.3900 D.47203. 将⼀棵有100个节点的完全⼆叉树从根这⼀层开始,每⼀层上从左到右依次对结点进⾏编号,根节点的编号为0,则编号为49的结点的左孩⼦编号为(B)。

A.98 B.99 C.50 D.494. 在长度为n的顺序存储的线性表中,删除第i个元素(1≤i ≤n)时,需要从前向后依次前移(A)个元素。

A.n-i B.n-i+1 C.n-i-1 D.i5. 栈的插⼊和删除操作在(A)进⾏。

A.栈顶B.栈底C.任意位置D.指定位置6. 链表适⽤于(A)查找。

A.顺序B.⼆分法C.⼆分法、顺序D.随机7. 深度为6(根结点的层次为1)的⼆叉树⾄多有(D)个结点。

A.64 B.32 C.31 D.638. ⽤邻接表表⽰图进⾏⼴度优先遍历时,通常是采⽤(B)来实现算法的。

A.栈B.队列C.树D.图9. 设有两个串p和q,求q在p中⾸次出现的位置的运算称作(B)。

A.连接B.模式匹配C.求⼦串D.求串长10.若某线性表中最常⽤的操作是取第i个数据元素,则采⽤(D)存储⽅式最节省时间。

A.单链表B.双链表C.单向循环D.顺序表11.三个结点可构成(D)个不同形态的⼆叉树。

A.2 B.3 C.4 D.512.下列关键字序列中,(D)是堆。

A.16,72,31,23,94,53 B.94,23,31,72,16,53C.16,53,23,94,31,72 D.16,23,53,31,94,7213.把⼀棵树转换为⼆叉树后,这棵⼆叉树的形态是(A)。

2022年重庆邮电大学802数据结构考研真题电子版

2022年重庆邮电大学802数据结构考研真题电子版

机密 启用前重庆邮电大学2022年攻读硕士学位研究生入学考试试题科目名称:数据结构(A)卷科目代码:802考生注意事项1、答题前,考生必须在答题纸指定位置上填写考生姓名、报考单位和考生编号。

2、所有答案必须写在答题纸上,写在其他地方无效。

原则上按顺序作答,所有答案必须标注题号。

3、填(书)写必须使用黑色字迹钢笔、圆珠笔或签字笔。

4、考试结束,将答题纸和试题一并装入试卷袋中交回。

5、本试题满分150分,考试时间3小时。

一、选择题(本大题共15小题,每小题2分,共30分)1.当输入非法错误时,一个“好”的算法会进行适当处理,而不会产生难以理解的输出结果。

这称为算法的()。

A.可读性 B. 健壮性 C. 正确性 D. 有穷性2.当字符序列F4_作为一个栈的输入时,输出长度为3的且可用作C语言标识符的序列有()个。

A.4 B. 5 C. 3 D. 63.若用一个大小为7的数组来实现循环队列,且当前rear和front的值分别为0和4,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为()。

A.2和6B.6和2C.5和2D.2和54.用一个栈求下列后缀表达式的值,8 2 3 ^ / 2 3 * + 5 1 * -其中:+、-、*、/、^分别是加、减、乘、除、幂运算符,当扫描到第一个*时,栈顶部2个元素是()。

A.6, 1B.5, 7C.3, 2D.1, 55.某二叉树的前序序列和后序序列正好相反,则该二叉树一定是()的二叉树。

A.空或只有一个节点B. 高度等于其节点数C. 任一节点无左孩子D. 任一节点无右孩子6.一棵左子树为空的二叉树在前序线索化后,其中空的链域的个数是()。

A.不确定B.0C.1D.27.()占用的额外空间的空间复杂性为O(1)。

A.堆排序算法B. 归并排序算法C.快速排序算法D. 以上答案都不对8. 在Huffman编码中,若编码长度只允许小于等于3,则除了已对两个字符编码为0和10外,还可以最多对()个字符编码。

数据结构第09次课 数组A

数据结构第09次课 数组A

行优先存储时LOC(a23)=LOC(a00)+[2*5+3] 列优先呢? 行优先存储时的地址公式为: LOC(aij)=LOC(a00)+[i*n+j]*L
数组基址 单个元素 长度 总列数,即 第2维长度
aij之前的
行数
aij本行前面的
元素个数
第10页

A=



ac1,c2 … ac1,d2 … aij … ad1,c2 … ad1,d2
第1页




数据结构课程的内容
第2页




第5章 数组和广义表(Arrays & Lists)
数组和广义表的特点:一种特殊的线性表
① 元素的值并非原子类型,可以再分解,其元素可以是一 个数据结构。 ② 所有数据元素仍属同一数据类型。
5.1 5.2 5.3 5.4 5.5
数组的定义 数组的表示和实现 矩阵的压缩存储 广义表的定义 广义表的存储结构
解决思路: 对每个非零元素增开若干存储单元,例如存放其所 在的行号和列号,便可准确反映该元素所在位置。 实现方法: 将每个非零元素用一个三元组(i,j,aij)来表示, 则每个稀疏矩阵可用一个三元组表来表示。
第22页




三元组表的顺序存储表示(见教材P98):
#define MAXSIZE 125000 //设非零元素最大个数125000 typedef struct{ int i; //元素行号 int j; //元素列号 ElemType e; //元素值 //一个结点的结构定义 }Triple;
, i (i 1) / 2 j 1 i j k j ( j 1) / 2 i 1,i j

数据结构A-教学大纲

数据结构A-教学大纲

《数据结构》教学大纲课程编号:070114A课程类型:□通识教育必修课□通识教育选修课专业必修课□专业选修课□学科基础课总学时:64 讲课学时:48 实验(上机)学时:16学分:4适用对象:信息管理与信息系统专业(电子商务)、电子商务专业(商务智能)、信息管理与信息系统专业(量化投资)先修课程:高等数学、程序设计基础与应用一、教学目标程序的构成与数据结构是两个不可分割的问题。

为解决现实世界中的问题,必须先对问题进行分析,得到问题本身的逻辑关系,然后采用合理的数学模型进行表示,这需要对程序构造进行系统而科学的研究,因而数据结构是设计与实现编译程序,操作系统,数据库系统,多媒体信息处理,数字图象处理及其它系统程序和大型应用程序的重要基础,是介于数学,计算机硬件,软件之间的一门核心课程,是信息管理与管理信息系统专业一门重要的专业技术基础课程。

本课程的目的在于向学生介绍计算机是如何处理, 组织和操作数据,如何评价算法的效率,使学生能够利用所学的理论知识解决实际问题,培养学生分析问题、解决问题的能力。

通过本课程的学习,使学生深透地理解数据结构的逻辑结构和物理结构的基本概念以及有关算法,培养基本的、良好的程序设计技能,编制高效可靠的程序,为学习操作系统、编译原理和数据库等课程奠定基础。

二、教学内容及其与毕业要求的对应关系(一)教学内容本课程的主要内容包括数据的逻辑结构和存储结构及在两者之上设计的算法。

数据的逻辑结构主要包括线性结构、层次结构和图结构;存储结构包括顺序存储和链式存储。

具体内容可分为5部分:1)线性结构数据的存储和运算,栈与队列的特点与应用、数组的存储与效率;2)树状结构的存储与运算,二叉树的性质、存储与操作实现,哈夫曼树与哈夫曼编码;3)图状结构的存储于运算,图的应用与相关算法的设计、实现;4)静态查找与动态查找的相关算法;5)各种排序算法及其效率比较分析。

(二)教学方法和手段根据教学目标,拟采用的教学方法有:课堂讲解基本概念和核心知识,讲授和讨论相结合领会知识要点,案例教学训练解决问题的能力,最后在visualC平台下进行上机操作和具体实践。

数据结构(A卷)【含答案】

数据结构(A卷)【含答案】

数据结构(A卷)【含答案】试卷编号拟题教研室(或教师)签名教研室主任签名………………………………………………………………………………………………………课程名称(含档次)数据结构A课程代号课程编号专业层次(本、专)本科考试⽅式(开、闭卷)闭卷⼀、应⽤题(3⼩题,共20分)1.设有⼀个栈,元素进栈的次序为:A,B,C,D,E,⽤I表⽰进栈操作,O表⽰出栈操作,设初始状态栈为空,写出下列出栈的操作序列。

(8分)(1)C,B,A,D,E(2)A,C,B,E,D2. ⼀份电⽂中有6种字符:A,B,C,D,E,F,它们的出现频率依次为16,5,9,3,30,1,完成问题:(1)设计⼀棵哈夫曼树;(画出其树结构)(2)计算其带权路径长度WPL。

(8分)3. 已知⽆向图G的邻接表如图所⽰,分别写出从顶点1出发的深度遍历和⼴度遍历序列。

(4分)⼆、判断正误(10⼩题,共20分)1.顺序表结构适宜于进⾏顺序存取,⽽链表适宜于进⾏随机存取。

( )2.⼀个栈的输⼊序列为:A,B,C,D,可以得到输出序列:C,A,B,D。

( )3.栈和队列都是受限的线性结构。

()4. 逻辑结构与数据元素本⾝的内容和形式⽆关。

()5.线性表链式存储的特点是可以⽤⼀组任意的存储单元存储表中的数据元素。

()6. 完全⼆叉树的某结点若⽆左孩⼦,则它必是叶结点。

()7. 邻接表只能⽤于存储有向图,⽽邻接矩阵则可存储有向图和⽆向图。

()8. 图的深度优先搜索序列和⼴度优先搜索序列不是惟⼀的。

()9. 折半查找只适⽤于有序表,包括有序的顺序表和链表。

()10. 每种数据结构都具备三个基本操作:插⼊、删除和查找。

()三、单项选择题(15⼩题,共30分)1.算法分析的两个主要⽅⾯是()。

A. 空间复杂度和时间复杂度B.正确性和简单性C.可读性和⽂档性D.数据复杂性和程序复杂性2.具有线性结构的数据结构是()。

A.图B.树C.⼴义表D.栈3.下⾯程序段的时间复杂度是()。

东北林业大学数据结构(A)2005-2006答案

东北林业大学数据结构(A)2005-2006答案

东北林业大学2005-2006学年第二学期考试试题考试科目:数据结构(A)评分标准及参考答案一、单项选择题(在每个小题四个备选答案中选出一个正确答案,填在题末的括号中)(本大题共10小题,每小题1.5分,总计10分)(选对1个题给1.5分,选错1个题不给分)1、从逻辑上可以把数据结构分为()两大类。

A.动态结构、静态结构 B.顺序结构、链式结构C.线性结构、非线性结构 D.初等结构、构造型结构答案(C)2、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。

A.顺序表 B.双链表 C.带头结点的双循环链表 D.单循环链表答案( A )3、循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是( )。

A.(rear-front+m)%mB. rear-front+1C. rear-front-1D. rear-front答案( A )4、串的长度是指()A.串中所含不同字母的个数 B.串中所含字符的个数C.串中所含不同字符的个数 D.串中所含非空格字符的个数答案( B)5、设广义表L=((a,b,c)),则L的长度和深度分别为()。

A. 1和1B. 1和3C. 1和2D. 2和3答案(C)6、二叉树的先序遍历和中序遍历如下:先序遍历:EFHIGJK;中序遍历: HFIEJKG 。

该二叉树根的右子树的根是:( )A. EB. FC. GD. H答案( C )7、深度为h的满m叉树的第k层有()个结点。

(1=<k=<h)A.m k-1 B.m k-1 C.m h-1 D.m h-1答案(A)8、关键路径是事件结点网络中()。

A.从源点到汇点的最长路径 B.从源点到汇点的最短路径C.最长回路 D.最短回路答案(A)9、散列文件使用散列函数将记录的关键字值计算转化为记录的存放地址,因为散列函数是一对一的关系,则选择好的()方法是散列文件的关键。

数据结构第2章线性表A

数据结构第2章线性表A
15
在线性表的第i个位臵前插入一个元素的示意图如下:
1 2 3 4 插入25 5 12 1
12
13 21
13
21 24 28 30 42 77
2
3 4 5 6 7 8
24
25
6
7 8
28
30 42 77
9
16
3)删除
删除线性表的第i个位臵上的元素
实现步骤: 将第i+1 至第n 位的元素向前移动一个位臵; 表长减1。 注意:事先需要判断,删除位臵i 是否合法? 应当符合条件:1≤i≤n 或 i=[1, n] 核心语句: for ( j=i+1; j<=n; j++ )
18
2.2.3 顺序表的运算效率分析
时间效率分析:
算法时间主要耗费在移动元素的操作上,因此 计算时间复杂度的基本操作(最深层语句频度) T(n)= O (移动元素次数) 而移动元素的个数取决于插入或删除元素的位臵.

讨论1:若在长度为 n 的线性表的第 i 位前 插入一个元素, 则向后移动元素的次数f(n)为: f(n) = n – i + 1
例2 分析学生情况登记表是什么结构。
学号 姓名 性别 年龄 班级
0406010402
0406010405 0406010406 0406010410 0406010413 :
陈杰
邓博 管杰 黄腾达 李荣智 : : :
2004级计软04-1班
2004级计软04-1班 2004级计软04-1班 2004级计软04-1班 2004级计软04-1班 :
InitList( &L ); DestoryList( &L ); //建空表,初始化 //撤销表,释放内存

2005级数据结构A及答案

2005级数据结构A及答案

浙江工商大学2006/2007学年第一学期考试试卷课程名称:《数据结构》考试方式:闭卷完成时限:120分钟班级名称:学号:姓名:题号一二三四五六总分分值10 10 10 14 20 36 100得分阅卷人一.判断题(每题1分,共10分)1、数据结构概念包括数据之间的逻辑结构,数据在计算机中的存储方式和数据的运算三个方面。

................................()2、数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储结构相关,是依赖于计算机的。

................................()3、线性表中的每个结点最多只有一个直接前驱和一个直接后继。

..................................................()4、线性的数据结构可以顺序存储,也可以链接存储。

非线性的数据结构只能链接存储。

........................................()5、二维数组是其数组元素为线性表的线性表。

................()6、单链表形式的队列,头指针F指向队列的第一个结点,尾指针R指向队列的最后一个结点。

..................................()7、由一棵二叉树的前序序列和后序序列可以唯一确定它。

......(错)8、在数据的存放无规律而言的线性表中进行查找的最佳方法是顺序查找(线性查找)。

......................................()9、多重表文件和倒排文件都归属于多关键字文件。

............()10、不定长文件是指文件的长度不固定。

..................... ()二.填空题(每题1分,共10分)1、若将数据结构形式定义为二元组(D,R),其中D是数据元素的有限集合,则R是D上关系的有限集合。

2、在一个带头结点的单循环链表中,p指向尾结点的直接前驱,则指向头结点的指针head可用p表示为。

数据结构A卷以及答案-考试用

数据结构A卷以及答案-考试用

数据结构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为基准记录的⼀趟快速排序结束后的结果为( )。

数据结构 试卷A

数据结构 试卷A

安阳师范学院计信学院信管、计科专升本专业《数据结构》考试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 )。

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

上海电机学院继续教育学院
2017 学年上半年期末考试试卷A
(数据结构) 课程试卷
班级:成1675 学号:姓名:
(本卷考试时间90分钟)
题号一二三四五六总得分
题分
得分
一、单选题(每题2 分,共20分)
1. 栈和队列的共同特点是( )。

A.只允许在端点处插入和删除元素
B.都是先进后出
C.都是先进先出
D.没有共同点
2. 用链接方式存储的队列,在进行插入运算时( ).
A. 仅修改头指针
B. 头、尾指针都要修改
C. 仅修改尾指针
D.头、尾指针可能都要修改
3. 以下数据结构中哪一个是非线性结构?( )
A. 队列
B. 栈
C. 线性表
D. 二叉树
4. 设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在
676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。

( )
A.688 B.678 C.692 D.696
5. 树最适合用来表示( )。

A.有序数据元素
B.无序数据元素
C.元素之间具有分支层次关系的数据
D.元素之间无联系的数据
6. 二叉树的第k层的结点数最多为( ).
A.2-1 B.2K+1 C.2K-1 D. 2kk-1
7. 若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二
分查找,则查找A[3]的比较序列的下标依次为( )
A. 1,2,3
B. 9,5,2,3
C. 9,5,3
D. 9,4,2,3
8. 对n个记录的文件进行快速排序,所需要的辅助存储空间大致为
A. O(1)
B. O(n)
C. O(1og2n)
D. O(n2)
9. 对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)
=K %9作为散列函数,则散列地址为1的元素有()个,
A.1 B.2 C.3 D.4
10. 设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。

A.5
B.6
C.7
D.8
二、填空题(每空1分,共25分)
1. 通常从四个方面评价算法的质量:_________、_________、_________和_________。

2. 一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________。

3. 假定一棵树的广义表表示为A(C,D(E,F,G),H(I,J)),则树中所含的结点数为__________个,树的深度为___________,树的度为_________。

4. 后缀算式9 2 3 +- 10 2 / -的值为__________。

中缀算式(3+4X)-2Y/3对应的后缀算式为_______________________________。

5. 若用链表存储一棵二叉树时,每个结点除数据域外,还有指向左孩子和右孩子的两个指针。

在这种存储结构中,n个结点的二叉树共有________个指针域,其中有________个指针域是存放了地址,有________________个指针是空指针。

6. 对于一个具有n个顶点和e条边的有向图和无向图,在其对应的邻接表中,所含边结点分别有_______个和________个。

7. AOV网是一种___________________的图。

8. 在一个具有n个顶点的无向完全图中,包含有________条边,在一个具有n个顶点的有向完全图中,包含有________条边。

9. 假定一个线性表为(12,23,74,55,63,40),若按Key % 4条件进行划分,使得同一余数的元素成为一个子表,则得到的四个子表分别为____________________________、
___________________、_________________和______________________。

10. 向一棵B_树插入元素的过程中,若最终引起树根结点的分裂,则新树比原树的高度___________。

11. 在堆排序的过程中,对任一分支结点进行筛运算的时间复杂度为________,整个堆排序过程的时间复杂度为________。

12. 在快速排序、堆排序、归并排序中,_________排序是稳定的。

三. 程序填空(每空5分,共25分)
1. 下面程序把数组元素中的最小值放入b中。

#include<iostream.h>
void main ( )
{ int a[10] ={6,7,2,9,1,10,5,8,4,3},b, i;
b=a[0];
for (i=1;__________;i++)
if ( ______ ) b=a[i];
cout<<"min="<<b<<endl;
}
2. 下面程序的功能是求斐波那契数列前10项,填充程序
#include <iostream.h>
#include <iomanip.h>
void fun(int array[ ],int n);
void main( )
{ int a[10]={0,1}; int i;
fun(_____,10);
for(i=0;i<10;i++)
cout<<setw(4)<<a[i];
cout<<endl;
}
void fun(int array[ ],int n)
{ int i;
for(i=2;i<n;i++)
array[i]=_________________+_________________;
}
四.试编以下完整程序:(每题15分):
1.有一函数:
x (x<1)
y= 2x-1 (1≤x<10)
3x-11 ( x≥10)
写一程序,输入x,输出y值。

2.输入一行字符到数组C[80]中,统计其中大写英文字母的个数、小写英文字母的个数、数字字符个数和其他字母个数。

以上功能可反复直至选择退出。

相关文档
最新文档