数据结构复习2011年期末考试复习题
2011年数据结构本科试题及答案
武汉大学计算机学院2011年-2012学年第一学期“数据结构”考试试题(A)要求:所有的题目的解答均写在答题纸上,需写清楚题目的序号。
每张答题纸都要写上姓名和学号。
一、单项选择题(共20小题,每小题2分,共40分)1. 下列各选项中属于逻辑结构的是。
A.哈希表B.有序表C.单链表D.顺序表2. 对于数据结构,以下叙述中不正确的是。
A.数据的逻辑结构与数据元素本身的形式和内容无关B.数据的逻辑结构是数据的各数据项之间的逻辑关系C.数据元素是数据的基本单位D.数据项是数据的最小单位3. 某算法的时间复杂度为O(n2),表明该算法的。
A.问题规模是n2B.执行时间等于n2C.执行时间与n2成正比D.问题规模与n2成正比4. 通常在单链表中增加一个头节点,其目的是为了。
A.使单链表至少有一个节点B.标识表节点中首节点的位置C.方便单链表运算的实现D.说明单链表是线性表的链式存储5. 删除某个双链表中的一个节点(非首、尾节点),需要修改个指针域。
A.1B.2C.3D.46. 栈和队列是两种不同的数据结构,但它们中的元素具有相同的。
A.抽象数据类型B.逻辑结构C.存储结构D.运算7. 元素a、b、c、d、e依次进入初始为空的栈中,若元素进栈后可停留、可出栈,直到所有的元素都出栈,则所有可能的出栈序列中,以元素d开头的序列个数是。
A.3B.4C.5D.68. 设环形队列中数组的下标是0~N-1,其头尾指针分别为f和r(f指向队列中队头元素的前一个位置,r指向队尾元素的位置),则其元素个数为。
A.r-fB.r-f-1C.(r-f)%N+1D.(r-f+N)%N9. 已知循环队列存储在一维数组A[0..n-1]中,且队列非空时front和rear分别指向队头元素和队尾元素。
若初始时队列空,且要求第一个进入队列的元素存储在A[0]处,则初始时front和rear的值分别是。
A.0,0B.0,n-1C.n-1,0D.n-1,n-110. 对于n阶(n≥2)对称矩阵,采用压缩方法以行序优先存放到内存中,则需要个存储单元。
2011年江苏省《数据结构》期末考试试题及答案知识大全
14、一棵左子树为空的二叉树在前序线索化后,其空指针域个数为
A.0 B.1 C.2 D.不确定
15、如果对线性表的操作只有两种,即删除第一个元素,在最后一个元素的后面插入新元素,则最好使用 B 。
A.只有表头指针没有表尾指针的循环单链表
C.每个数据元素都一样
D.数据元素所包含的数据项的个数要相等
26、数据结构在计算机内存中的表示是指 A 。
A.数据的存储结构 B.数据结构 C.数据的逻辑结构 D.数据元素之间的关系
27、非空的循环单链表head的尾结点(由p所指向)满足 C 。
A.p->next == NULL B.p == NULL
43、非空的循环单链表head的尾结点(由p所指向)满足 C 。
A.p->next == NULL B.p == NULL
C.p->next ==head D.p == head
44、若某线性表中最常用的操作是取第i个元素和找第i个元素的前驱,则采用( )存储方法最节省时间
20、算法分析的目的是 C ,算法分析的两个主要方面是 A 。
(1)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系
C.分析算法的效率以求改进 C.分析算法的易读性和文档性
(2)A.空间复杂度和时间复杂度 B.正确性和简明性
C.可读性和文档性 D.数据复杂性和程序复杂性
A 顺序表 B单链表 C 双链表 D单循环链表
45、需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。
A.单链表 B.静态链表 C.线性链表 D.顺序存储结构
46、深度为k的完全二叉树所含叶结点的个数最多为( B)。
2011年10月数据结构试题及答案
全国2011年10月高等教育自学考试-----数据结构试题一、单项选择题(本大题共15小题,每小题2分,共30分)1、在数据的逻辑结构中,树结构和图结构都是()A.非线性结构B.线性结构C.动态结构D.静态结构2.在一个长度为n的顺序表中插入一个元素的算法的时间复杂度为()A.O(1)B.O(log n)C.O(n)D.O(n2)3.指针p1和p2分别指向两个无头结点的非空单循环链表中的尾结点,要将两个链表链接成一个新的单循环链表,应执行的操作为()A.p1->next=p2->next;p2->next=p1->next;B. p2->next=p1->next;p1->next=p2->next;C. p=p2->next; p1->next=p;p2->next=p1->next;D. p=p1->next; p1->next= p2->next;p2->next=p;4.设栈的初始状态为空,入栈序列为1,2,3,4,5,6,若出栈序列为2,4,3,6,5,1,则操作过程中栈中元素个数最多时为()A.2个B.3个C.4个D.6个5.队列的特点是()A.允许在表的任何位置进行插入和删除B.只允许在表的一端进行插入和删除C.允许在表的两端进行插入和删除D.只允许在表的一端进行插入,在另一端进行删除6.一个链串的结点类型定义为﹟define NodeSize 6typedef struct node{char data[NodeSize];struct node*next;}LinkStrNode;如果每个字符占1个字节,指针占2个字节,该链串的存储密度为()A.1/3B.1/2C.2/3D.3/47.广义表A=(a,B,(a,B,(a,B,……)))的长度为()A.1B.2C.3D.无限值8.已知10×12的二维数组A,按“行优先顺序”存储,每个元素占1个存储单元,已知A[1][1]的存储地址为420,则A[5][5]的存储地址为()A.470B.471C.472D.4739.在一棵二叉树中,度为2的结点数为15,度为1的结点数为3,则叶子结点数为()A.12B.16C.18D.2010.在带权图的最短路径问题中,路径长度是指()A.路径上的顶点数B.路径上的边数C.路径上的顶点数与边数之和D.路径上各边的权值之和11.具有n个顶点、e条边的无向图的邻接矩阵中,零元素的个数为()A.eB.2eC.n2-2eD.n2-112.要以O(n log n)时间复杂度进行稳定的排序,可用的排序方法是()A.归并排序B.快速排序C.堆排序D.冒泡排序13.若希望在1000个无序元素中尽快求得前10个最大元素,应借用()A.堆排序B.快速排序1 / 6C.冒泡排序D.归并排序14.对有序表进行二分查找成功时,元素比较的次数()A.仅与表中元素的值有关B.仅与表的长度和被查元素的位置有关C.仅与被查元素的值有关D.仅与表中元素按升序或降序排列有关15.散列文件是一种()A.顺序存取的文件B.随机存取的文件C.索引存取的文件D.索引顺序存取的文件二、填空题(本大题共10小题,每小题2分,共20分)16.若一个算法中的语句频度之和为T(n)=3n3-200nlog2n+50n,则该算法的渐近时间复杂度为__________.17.在单链表中,除了第1个元素结点外,任一结点的存储位置均由_____________指示。
杭州电子科技大学2011数据结构期末试卷
杭州电子科技大学2011数据结构期末试卷杭州电子科技大学学生考试卷( A )卷考试课程数据结构考试日期 2011 年月日成绩课程号教师号任课教师姓名考生姓名学号(8位)年级专业一.判断题:(每小题2分,共20分)1.链栈的初始化是指开辟足够多的结点,然后置栈顶指针为NULL。
()2.数据的物理结构是指数据在计算机内的实际存储形式。
()3.线性表采用链表存储时,查找第i个元素的时间与i的值无关。
()4.将一棵树转成二叉树,根结点没有左子树。
()5.广义表的取表尾运算,其结果通常是个表,但有时也可是个原子。
()6.完全二叉树的某结点若无左孩子,则它必是叶结点。
()7.用邻接矩阵表示图时,矩阵元素的个数与边的条数有关。
()8.图的深度优先遍历序列和广度优先遍历序列不是唯一的。
()9.用简单选择排序算法,只需一趟扫描即可选出键值最大(或最小)的元素。
()10. 采用线性探测法处理散列时的冲突,当从哈希表删除一个记录时,不应将这个记录的所在位置置空,因为这会影响以后的查找。
()二.选择题:(每小题2分,共18分)1.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为()。
A. 13B. 33C. 18D. 402.下面关于线性表的叙述中,错误的是哪一个?()A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链接存储,不必占用一片连续的存储单元。
D.线性表采用链接存储,便于插入和删除操作。
3.循环队列存储在数组A[0..m]中,则入队时的操作为()。
A. rear=rear+1B. rear=(rear+1) mod (m-1)C. rear=(rear+1) mod mD. rear=(rear+1)mod(m+1)4.对于深度为K的满二叉树(结点编号从1开始,根结点的层数为1),其第K层上最后1个结点的编号为 ( )。
数据结构期末考试题
数据结构期末考试题一、选择题(每题2分,共10分)1. 以下哪种数据结构是线性存储结构?A. 哈希表B. 二叉树C. 链表D. 图2. 在单链表中,删除节点的操作通常需要几个指针变量?A. 一个B. 两个C. 三个D. 四个3. 对于二叉搜索树,以下哪个操作的平均时间复杂度最低?A. 插入B. 删除C. 查找D. 遍历4. 在图的表示中,哪种方法可以有效地处理稠密图?A. 邻接矩阵B. 邻接表C. 边表D. 顶点表5. 快速排序算法的时间复杂度在最坏情况下是多少?A. O(n)B. O(nlogn)C. O(n^2)D. O(n^3)二、填空题(每题2分,共10分)1. 在数据结构中,___________ 是一种非线性数据结构,每个节点可以有两个或两个以上的子节点。
2. 栈和队列是两种常用的___________ 结构,它们分别支持后进先出和先进先出的特性。
3. 哈希表的___________ 越大,冲突的可能性越小。
4. 在图的遍历算法中,___________ 和___________ 是两种基本的遍历方法。
5. 归并排序是一种___________ 排序算法,它适用于大数据量的排序。
三、简答题(每题10分,共30分)1. 请简述数组和链表的区别,并举例说明它们各自的适用场景。
2. 什么是树的前序遍历、中序遍历和后序遍历?请用递归的方法实现二叉树的中序遍历。
3. 请解释深度优先搜索(DFS)和广度优先搜索(BFS)的基本原理,并比较它们的优缺点。
四、编程题(每题15分,共30分)1. 编写一个函数,实现对一个无向图的邻接矩阵表示,并完成对该图的深度优先搜索(DFS)遍历。
要求无向图的顶点和边数由用户输入,顶点用整数表示。
2. 设计并实现一个简单的文本编辑器,支持插入、删除和查找字符的功能。
要求使用链表来存储文本,并提供相应的操作函数。
五、综合题(20分)给定一组学生的成绩数据,要求设计一个成绩管理系统。
数据结构期末复习题
练习题:一、填空题1、元素项是数据的最小单位,数据元素是讨论数据结构时涉及的最小数据单位。
2、设一棵完全二叉树具有100个结点,则此完全二叉树有49个度为2的结点。
3、在用于表示有向图的邻接矩阵中,对第i列的元素进行累加,可得到第i个顶点的出度。
4、已知一棵度为3的树有2个度为1的结点,3个度为2的结点,4个度为3的结点,则该树中有12个叶子的结点。
n=n0+n1+n2+…+nm (1)又有除根结点外,树中其他结点都有双亲结点,且是唯一的(由树中的分支表示),所以,有双亲的结点数为:n-1=0*n0+1*n1+2*n2+…+m*nm (2)联立(1)(2)方程组可得:叶子数为:n0=1+0*n1+1*n2+2*n3+...+(m-1)*nm5、有一个长度为20的有序表采用二分查找方法进行查找,共有4个元素的查找长度为3。
6、对于双向链表,在两个结点之间插入一个新结点需要修改的指针共4个。
删除一个结点需要修改的指针共2个。
7、已知广义表LS=(a,(b,c,d),e),它的深度是2,长度是3。
8、循环队列的引入是为了克服假溢出。
9、表达式a*(b+c)-d/f的后缀表达式是abc+*df/-。
10、数据结构中评价算法的两个重要指标是时间复杂度和空间复杂度。
11、设r指向单链表的最后一个结点,要在最后一个结点之后插入s所指的结点,需执行的三条语句是r->next=s; r=s; r->next=null;12、设有一个空栈,栈顶指针为1000H(十六进制),现有输入序列为1,2,3,4,5,经过PUSH,PUSH,POP,PUSH,POP,PUSH,PUSH之后,输出序列是23,而栈顶指针值是1012_H。
设栈为顺序栈,每个元素占4个字节。
13、模式串P=‘abaabcac’的next函数值序列为01122312。
14、任意连通图的连通分量只有一个,即是自身。
15、栈的特性是先进后出。
16、串的长度是包含的元素个数。
2011-2012-1-A-数据结构期末试卷(1)
2011-2012学年第一学期期末考试《数据结构》试卷(A)一、选择(共22分,每小题2分,把最恰当的答案编号填到答题卷的相应位置)1.下列程序段的时间复杂度是( )。
for (i = 0;i < n; i++)for (j = i; j < n; j++)printf("%d\n", j);A. O(n)B. (n2)C. O(n log n)D. O(n3)2. 假设一个循环队列Q[maxSize]的队头指针为front,队尾指针为rear,队列的最大容量为maxSize,除此之外,该队列再没有其他数据成员,则该队列的队满条件是( )。
A. front == rearB. front + rear >= maxSizeC. rear == (front + 1) % maxSizeD. front == (rear + 1)% maxSize3. 若元素0、1、2依次进栈,允许进栈和出栈操作交替进行,则下列序列中不可能得到的出栈序列是( )。
A. 0 1 2B. 2 0 1C. 0 2 1D. 2 1 04.若用邻接矩阵表示有向图,则其中每一行包含的″1″的个数为( )。
A.图中每个顶点的出度B.图中每个顶点的入度C.图中弧的条数D.图中连通分量的数目5.如果所有关键字都相等,那么插入排序算法的时间复杂度为( )。
A. O(1)B.O(n)C. O(n log n)D.O(n2)6.下列排序算法中,平均时间复杂度为O(n log n)且占用额外空间最多的是( )。
A. 堆排序B. 插入排序C. 归并排序D. 快速排序7.若无向图G=(V, E)含有7个顶点,要保证图G都是连通的,则需要的边数最少是( )。
A. 6B. 15C. 16D. 218. 若用数组S[N](S[0…N-1])作为两个栈S1和S2的共用存储结构,对任何一个栈,只有当S数组全满时才不能入栈操作。
数据库期末考试复习题(附答案)
数据库期末考试复习题(附答案)数据库系统概论 2011年期末考试复习题一、选择题• 第(1)至(3)题基于以下的叙述:有关系模式A(C,T,H,R,S),基中各属性的含义是:• C:课程T:教员H:上课时间R:教室S:学生• 根据语义有如下函数依赖集:• F={C→T,(H,R)→C,(H,T)→R,(H,S)→R}• 1、关系模式A的码是(D)• A. C B。
(H,R)C.(H,T)D.H,S)• 2、关系模式A的规范化程度最高达到(B)• A. 1NF B. 2NF C. 3NFD. BCNF• 3、现将关系模式A分解为两个关系模式A1(C,T),A2(H,R,S),则其中A1的规范化程度达到(D)• A. 1NF B。
2NF C. 3NF D. BCNF• 4。
设有关系R(A,B,C)和S(C,D)。
与SQL语句• select A,B,D from R,S where R.C=S.C • 等价的关系代数表达式是(B)• A。
σR.C=S。
C(πA,B,D(R×S)) • B。
πA,B,D(σR,C= S.C (R×S)) • C. σR。
C=S。
C((πA,B R)×(πDS))• D. σR,C=S。
C(πD((πA,BR)×S)• 5、设关系R和关系S的元数分别是3和4,关系T是R与S的广义笛卡尔积,即:T=R×S,则关系T的元数是(C)• A。
7 B。
9 C。
12 D。
16• 6、数据库设计阶段分为(B)• A。
物理设计阶段、逻辑设计阶段、编程和调试阶段• B。
概念设计阶段、逻辑设计阶段、物理设计阶段、实施和调试阶段• C。
方案设计阶段、总体设计阶段、个别设计和编程阶段• D。
模型设计阶段、程序设计阶段和运行阶段• 7、设U是所有属性的集合,X、Y、Z都是U的子集,且Z=U—X—Y。
下面关于多值依赖的叙述中,不正确的是(C)• A。
2011《数据结构》期末试卷_A卷(答案)
厦门大学《_数据结构_》课程期末试卷信息科学与技术学院计算机科学系2009年级___专业主考教师:陈怡疆庄朝晖试卷类型:(A卷)一、(本题10分)(1)线性表和广义表的主要区别是什么?(2)已知广义表:C=(a,(b,(a,b)),((a,b),(a,b))),则tail(head(tail(C)))=?答案:(1)线性表和广义表都是元素a1,a2,…,an组成的序列,其主要区别点在于:在线性表中,ai是单个元素(原子);在广义表中,ai可以是单个元素(原子),也可以是广义表。
(7分)(2)tail(head(tail(C)))=((a,b))(3分)二、(本题10分)简述二叉树的两种存储结构(顺序存储和链式存储)的数据结构及主要优缺点。
在哈夫曼树中,使用哪种存储结构,并说明理由。
答案:顺序存储结构:typed efSqBiTree[Max_Tree_Size];特点:使用数组存储二叉树上的结点元素,按照对应的完全二叉树的编号来存储二叉树。
优点是适用于完全二叉树,访问方便。
缺点是对于一般二叉树,较大地浪费了空间。
(4分)链式存储结构:typed efstrutBiTNod e{TEl emTypedata;structBiTNod e*l chil d,*rchil d;}BiTNod e,*BiTree;页脚内容1特点:使用结构体来表示结点元素,使用指针来指向结点的左右孩子。
优点是插入与删除方便,节省空间,缺点是不能快速地随机访问结点元素。
(4分)在哈夫曼树中,使用静态三叉链表,这样可以方便地从根走到叶子,也可以从叶子走到根,而且可以随机访问和节省空间。
(2分)三、(本题10分)一棵二叉树的先序、中序和后序序列分别如下,其中有一部分未显示出来,试求出空格处的内容,并画出该二叉树。
先序序列:__B__F__ICEH__G;中序序列:D__KFIA__EJC__;后序序列:__K__FBHJ__G__A。
数据结构期末考试(题集)
数据结构期末考试(题集)数据结构期末考试(题集)一、选择题1. 数据结构是指什么?A. 存储数据的方式B. 建立数据之间的关系C. 处理数据的方法D. 以上皆是2. 下列哪种数据结构具有先进先出的特性?A. 栈B. 链表C. 队列D. 二叉树3. 在二叉搜索树中,左子树的值小于根节点的值,右子树的值大于根节点的值。
这种特性被称为:A. 二叉平衡B. 二叉查找C. 二叉排序D. 二叉旋转4. 哪种数据结构包含有向边和无向边?A. 集合B. 图C. 树D. 堆5. 下列哪种数据结构支持插入、删除和搜索等常用操作的时间复杂度为O(log n)?A. 哈希表B. 数组C. 链表D. 二叉搜索树二、填空题1. 树的度定义为一个节点拥有的子节点数量,如果一个树有4个2度节点,6个1度节点和3个0度节点,则树的度为_______。
2. 下列是不同的数据结构中使用的操作,请将操作与对应的数据结构名称进行匹配:- Enqueue/Dequeue- Push/Pop- Insert/Delete- SearchA. 栈B. 队列C. 哈希表D. 链表操作与数据结构的匹配关系:Enqueue/Dequeue_______,Push/Pop_______,Insert/Delete_______,Search_______。
三、判断题1. 二叉树是一种特殊的树结构,每个节点最多只能有一个子节点。
( )2. 哈希表是一种采用链地址法处理冲突的散列表。
( )3. 链表是一种非连续的数据结构,其节点通过指针相互连接。
( )4. 二叉搜索树中,删除一个节点后,必须进行平衡操作以保持二叉树的性质。
( )5. 图是一种由节点和边组成的数据结构,用于表示元素之间的关系。
( )四、编程题1. 实现一个栈的数据结构,并编写相应的push、pop和isEmpty操作。
2. 给定一个字符串,判断其中的括号是否匹配。
例如,对于字符串"()[]{([])}",返回True;对于字符串"([)]",返回False。
《数据结构》期末考试题及答案
2011-2012学年第一学期期末考查《数据结构》试卷(答案一律写在答题纸上,在本试卷上做答无效)一、选择(每题1分,共10分)1.长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法时间复杂度为()A.O(0)B.O(1)C.O(n)D.O(n2)2.六个元素按照6,5,4,3,2,1的顺序入栈,下列哪一个是合法的出栈序列?()A.543612B.453126C.346512D.2341563.设树的度为4,其中度为1、2、3、4的结点个数分别是4、2、1、2,则树中叶子个数为()A.8B.9C.10D.114.设森林F对应的二叉树B有m个结点,B的右子树结点个数为n,森林F中第一棵树的结点个数是()A. m-nB.m-n-1C.n+1D.m+n5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是()A.9B.11C.15D.不确定6.下列哪一个方法可以判断出一个有向图是否有环。
()A.深度优先遍历B.拓扑排序C.求最短路径D.求关键路径7.第7层有10个叶子结点的完全二叉树不可能有()个结点。
A.73B.234C.235D.2368.分别用以下序列构造二叉排序树,与用其他三个序列构造的结果不同的是()A.(100,80,90,60,120,110,130)B.(100, 120, 110,130,80, 60,90)C.(100,60,80,90,120,110,130)D.(100,80, 60,90, 120, 130,110)9.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序过程中变化如下:(1)84 47 25 15 21 (2)15 47 25 84 21 (3)15 21 25 84 47(4)15 21 25 47 84则采用的排序方法是()A.选择排序B.起泡排序C.快速排序D.插入排序10.对线性表进行折半查找时,要求线性表必须()A.以顺序方式存储B.以顺序方式存储,且数据元素有序C.以链接方式存储D.以链接方式存储,且数据元素有序二、填空(每空1分,共15分)1.数据结构中评价算法的两个重要指标是、空间复杂度。
数据结构2011年秋季期末复习提纲+习题
数据结构2011年秋季期末复习提纲期末考试形式:闭卷试卷总评成绩:试卷70%+平时30%试卷题型:1.选择题(20分),2.应用题(30分)3.程序填空题(30分)4.算法设计题(20分)每章复习要点:第1章:概念理解:数据结构,时间复杂度程序段:i=1;while(i<=n)i=i*2;第2章:表的顺序存储结构,链式存储结构(单链表、循环链表、双向链表),表的基本操作与应用,本章所占分值在15分左右,会考表的算法。
(1)顺序存储结构1、下面关于线性表的叙述中,错误的是哪一个?()A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链接存储,不必占用一片连续的存储单元。
D.线性表采用链接存储,便于插入和删除操作。
2、对于顺序表的优缺点,以下说法错误的是:()A、无需为表示节点间的逻辑关系而增加额外的存储空间;B、可以方便地随机存取表中的任一节点;C、插入和删除运算较方便;D、由于顺序表要求占用连续的空间,存储分配智能预先进行。
(2) 链式存储结构1、链表不具备的特点是?()A.可随机访问任一节点。
B.插入删除不需要移动元素。
C.不必事先估计存储空间。
D.所需空间与其长度成正比。
2、(1) 静态链表既有顺序存储的优点,又有动态链表的优点。
所以,它存取表中第i个元素的时间与i无关。
(2) 静态链表中能容纳的元素个数的最大数在表定义时就确定了,以后不能增加。
(3) 静态链表与动态链表在元素的插入、删除上类似,不需做元素的移动。
以上错误的是()。
A.(1)(2)B.(1)C.(1)(2)(3) D.(2)3、对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是A、head==NULLB、head→next==NULLC、head→next==headD、head!=NULL4、如果对线性表的运算只有两种,即删除第一个元素,在最后一个元素后面插入新元素,最好使用()A、只有表头指针而没有表尾指针的循环单链表B、只有表尾指针而没有表头指针的循环单链表C、非循环双链表D、循环双链表5、线性表(a1,a2,…,an)以链接方式存储时,访问第i位置元素的时间复杂性为()A.O(i)B.O(1)C.O(n)D.O(i-1)第3章:栈的实现,栈的应用(数制转换,括号匹配),Hanoi塔不考,队列的实现(其中循环队列重点)。
数据结构期末试题与答案
a:11
b:1010
c:100
VertexType data;
EBox *firstedge;
}VexBox;
typedef struct VexBox{
VexBox adjmulist[Max_VERTEX_NUM];
int vexnum,edgenum;
}AMLGraph;
这个结构主要适用于存贮无向图
QueuePtr rear;
}LinkQueue;
Status EnQueue(LinkQueue&Q,QElemTypee){
QueuePtr p;
p=new QNode;
if(!p) return 0;
p->data=e;p->next=NULL;
Q.rear->next=p;
Q.rear=p;
A.二叉树是度为2的有序树
B.二叉树中结点只有一个孩子时无左右之分
C.二叉树中必有度为2的结点
D.二叉树中最多只有两棵子树,并且有左右之分
8、在具有n个叶子结点的严格二叉树(即结点的度要么是0要么是2)中,结点总数为(C)
A.2n+1 B.2n C.2n-1 D.2n-2
9、N个顶点的有向完全图中含有有向边的数目最多为(D)
typedef struct LNode{
ElemType data;
struct LNode *next;
2011本科数据结构试卷A试题(答案)
《数据结构》试卷参考答案(A卷)2010 —2011 年度第二学期计算机学院一、单项选择题(从下列各题四个备选答案中选出一个正确答案,将其代号(A,B,C,D)四、存储结构图(要求标明各结点的数据域、指针域、权值等,每小题6分,共12分)1.如下图所示为二叉树排序树T的一种线索二叉树逻辑结构图,试画出插入结点48后的线索二叉树的物理存储结构图。
答案:2.试画出如下图所示无向网的邻接多重表存储结构图。
参考答案:五、求解问题(每小题8分,共32分)1.如下图所示为n 行2n-1列矩阵A[1..n ,1..2n-1],现以行为主序进行压缩存储到一维数组SA[1…m]中。
(1)试问m 值是什么?(2)假定非零元素A[i ,j]保存在SA[k]中,试写出由下标(i ,j)到k 的转换公式。
1,n 2,n-12,n 2,n+1i,n-i+1i,n i,n+i-10 0 0 .... 0 a 0 .... 00 0 0 .... a a a .... 0 ....0 0 ... a ... a ... a ... 0 n,1 n,2n,n n,2n-1 ....a a .... a .... a ⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭ 答案:(1)m=n 2(2)k=(i-1) 2+i+j-n (当 |j-n|<i)2. 如下图所示为有序表(10,15,21,33,44,60,67,68,70,80)的判定树,试问该判定树是否正确?如果正确,说明理由,错误则指出错误处并给出正确结果。
答案:58296311074注:没按序号作为结点值扣1分3.试用元素序列(63、72、88、68、66、38、43),生成平衡二叉排序树T,(1)按步骤画出该平衡二叉排序树T,(2)写出平衡二叉排序树T 的中序遍历序列,(3)假定每个元素的查找概率相等,计算查找成功时的平均查找长度。
答案: (1)66724388686338(2)38,43,63,66,68,72,88(3)ASL=(1+2*2+3*4)/7=17/74.已知图的邻接表法存储结构如下,从顶点A出发求图的深度遍历的结果。
2011-12数据结构_A_答案
2011--2012学年第 一 学期《数据结构》(A )答案一.选择题(每题2分,共30分)C B B B B D D C D C C B D C D 二.判断题(每题1分,共10分)错 对 错 对 错 对 错 对 对 对 三.填空题(每空1分,共10分)1. n(n-1)/2 n-12.先进后出(或后进先出)3. 2k-1,2k-1 4. 树型结构 5. 深度优先搜索 广度优先搜索 6.时间复杂度 空间复杂度 四.综合题1. 三元组表如下:(10分)先序遍历序列:ABDFGCEH 中序遍历序列:BFDGACEH 的序遍历序列:FGDBHECA3.(10分)huffman 树如图所示(要有过程,不能直接给出结果)骗码:A:000 B:001 C:01 D:10 E:11 4.最小生成树。
(10分)abcdefg8579345.排序过程(6分)K1 k2 k3 k4 k5 k6 k7 k8初始关键字: ( 49 38 65 97 76 13 27 4 ) i min 第一遍排序: 4 (38 65 97 76 13 27 49 ) i min第二次排序: 4 13 (65 97 76 38 27 49) i min第三次排序: 4 13 27 (97 76 38 65 49 )i min第四次排序: 4 13 27 38 (76 97 65 49 ) i min 第五次排序: 4 13 27 38 49 (97 65 76) i min 第六次排序: 4 13 27 38 49 65 (97 76 ) i min第七次排序: 4 13 27 38 49 65 76 (97 )6. Hash函数为:hash(key)=key mod 13(8分)经计算,地址分配如下所示:0 1 2 3 4 5 6 7 8 9 10 11 12。
计算机数据结构期末考试题及答案
计算机数据结构期末考试题及答案一、单选题(每题5分,共10题)1. 数据结构的基本概念是指()。
A. 对象的有序集合B. 数据元素之间的关系C. 数据的逻辑结构和存储结构D. 数据的操作和运算答案:C2. 在数据结构中,链表的插入和删除操作的时间复杂度是()。
A. O(1)B. O(log n)C. O(n)D. O(n^2)答案:A3. 堆栈(栈)是一种遵循()原则的数据结构。
A. 先进先出B. 后进先出C. 先进后出D. 后进后出答案:B4. 以下哪种搜索算法不适合用于无序表的查找?A. 顺序查找B. 二分查找C. 哈希查找D. 插值查找答案:B5. 常用的排序算法中,时间复杂度最优的是()。
A. 冒泡排序B. 快速排序C. 插入排序D. 选择排序答案:B6. 树是一种()结构。
A. 非线性B. 线性C. 扁平D. 单一答案:A7. 图中用于表示顶点之间关系的存储结构通常有()。
A. 邻接矩阵和邻接表B. 数组和链表C. 哈希表和堆栈D. 栈和队列答案:A8. 广度优先搜索算法用于求解()问题。
A. 最短路径B. 最长路径C. 最小生成树D. 编译错误答案:A9. 动态规划算法通常用于求解()问题。
A. 一维空间B. 二维空间C. 三维空间D. 多维空间答案:D10. 哈希表是一种通过()实现数据元素的查找操作。
A. 数值B. 字符串C. 对象D. 散列函数答案:D二、填空题(每空5分,共5题)1. 按照先进先出(FIFO)原则,队列的删除操作又称为()。
答案:出队2. 在二叉树中,每个节点最多可以有()个子节点。
答案:23. 在哈希表中,通过散列函数将关键字映射到存储位置的过程称为()。
答案:散列4. 快速排序算法的时间复杂度为()。
答案:O(n log n)5. 图中两个顶点之间的最短路径可以使用()算法求解。
答案:迪杰斯特拉三、编程题(每题20分,共2题)题目一:请编写一个函数,接受一个整数数组作为参数,返回数组中的最大值和最小值。
数据结构期末考试复习试题(整理完的)
数据结构期末考试复习试题(整理完的)数据结构期末考试复习试题(整理完的)一、选择题1. 数据结构是一门研究什么的学科?a) 数据的存储和处理b) 算法的设计和分析c) 编程语言的应用d) 数字电路的设计2. 下面哪种数据结构不是线性结构?a) 数组b) 链表c) 栈d) 树3. 以下哪种数据结构适合实现先进先出(FIFO)的原则?a) 树b) 链表c) 栈d) 队列4. 哪种排序算法的时间复杂度最低?a) 冒泡排序b) 插入排序c) 快速排序d) 归并排序5. 对于一个包含n个元素的有序数组,采用二分查找法的时间复杂度是多少?a) O(n)b) O(logn)c) O(n^2)d) O(1)二、简答题1. 什么是数据结构?它有哪些基本类型?数据结构是指将数据按照某种特定方式组织的方法。
其基本类型包括线性结构、树形结构和图结构。
2. 请简要描述栈和队列的特点及其应用场景。
栈是一种先进后出的数据结构,只能在栈顶进行插入和删除操作,常用于表达式求值、括号匹配等场景。
队列是一种先进先出的数据结构,只能在队尾进行插入操作,在队首进行删除操作,常用于模拟排队、任务调度等场景。
3. 请简要介绍常见的排序算法,并比较它们的时间复杂度。
常见的排序算法包括冒泡排序、插入排序、选择排序、快速排序和归并排序。
冒泡排序的时间复杂度为O(n^2);插入排序的时间复杂度为O(n^2);选择排序的时间复杂度为O(n^2);快速排序的时间复杂度为O(nlogn);归并排序的时间复杂度为O(nlogn)。
三、编程题请实现一个用于计算阶乘的函数factorial,并在主函数中调用该函数计算5的阶乘。
```pythondef factorial(n):if n == 1:return 1else:return n * factorial(n-1)print(factorial(5))```以上是数据结构期末考试复习试题的整理。
希望能对大家的复习提供一些帮助。
数据结构期末考试复习试题(整理完的)
《数据结构与算法》复习题一、选择题。
1.在数据结构中,从逻辑上可以把数据结构分为 C 。
C.线性结构和非线性结构2.数据结构在计算机内存中的表示是指 A 。
A.数据的存储结构3.在数据结构中,与所使用的计算机无关的是数据的A结构。
A.逻辑4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C 。
C.数据元素之间的关系5.在决定选取何种存储结构时,一般不考虑A。
A.各结点的值如何6.以下说法正确的是 D 。
D.一些表面上很不相同的数据可以有相同的逻辑结构7.算法分析的目的是 C ,算法分析的两个主要方面是A。
(1)C.分析算法的效率以求改进(2)A.空间复杂度和时间复杂度8.下面程序段的时间复杂度是O(n2).s =0;for( I =0; i<n; i++)ﻩfor(j=0;j〈n;j++)ﻩﻩs +=B[i][j];sum = s ;9.下面程序段的时间复杂度是O(n*m)。
for( i =0;i〈n; i++)ﻩfor(j=0;j<m;j++)ﻩﻩﻩA[i][j]=0;10.下面程序段的时间复杂度是O(log3n) 。
i=0;while(i〈=n)ﻩi = i * 3;11.在以下的叙述中,正确的是B。
B.二维数组是其数据元素为线性表的线性表12.通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 B .B.不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致13.链表不具备的特点是 A 。
A.可随机访问任一结点14.不带头结点的单链表head为空的判定条件是 A 。
A.head == NULL15.带头结点的单链表head为空的判定条件是 B 。
Bhead—>next ==NULL16.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用D 存储方式最节省运算时间。
D.带头结点的双循环链表17.需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B .B.静态链表18.非空的循环单链表head的尾结点(由p所指向)满足C.C.p->next ==head19.在循环双链表的p所指的结点之前插入s所指结点的操作是 D .D.s—>next = p;s—>prior=p—〉prior;p—>prior—〉next=s;p—>prior =s20.如果最常用的操作是取第i个结点及其前驱,则采用 D 存储方式最节省时间。
2011数据结构期末考试
一、选择题(每小题2分,共20分)1、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。
A.单链表B.仅有头指针的单循环链表C.双链表D.仅有尾指针的单循环链表2、设有数组A[i,j],数组的每个元素长度为3字节,i的值为1到8,j的值为1到10,数组从内存首地址BA开始顺序存放,当用以行为主序存放时,元素A[5,8]的存储地址为( )。
A. BA+141B. BA+180C. BA+222D. BA+2253、依次读入数据元素序列{a,b,c,d,e,f,g}进栈,每进一个元素,机器可要求下一个元素进栈或出栈,如此进行,则栈空时弹出的元素构成的序列可能是以下哪个序列?A.{d,e,c,f,b,g,a} B.{f,e,g,d,a,c,b}C.{e,f,d,g,b,c,a} D.{c,d,a,e,f,b,g}4、下列关于AOE网的叙述中,不正确的是()。
A. 关键活动不按期完成就会影响整个工程的完成时间。
B.任何一个关键活动提前完成,那么整个工程将会提前完成C. 所用的关键活动提前完成,那么整个工程将会提前完成D. 某些关键活动提前完成,那么整个工程将会提前完成。
5、采用分块查找时,若线性表中共有625个元素,查找每个元素的概率相同,假设采用顺序查找来确定结点所在的块时,每块应分()个结点最佳。
A. 15B. 25C. 35D. 3136、如果只想得到1000个元素组成的序列中第5个最小元素之前的部分排序的序列()方法最快。
A.起泡排序B.快速排列C.Shell排序D.堆排序7、对序列{15,9,7,8,20,-1,4}进行排序,进行一趟后数据的排列变为{4,9,-1,8,20,7,15};则采用的是()排序。
A. 选择B. 快速C. 希尔D. 冒泡8、一组记录的关键字为(25,48,16,35,79,82,23,40,36,72)其中含有5个长度为2的有序表,按归并排序的方法对该序列进行一趟归并后的结果是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构》模拟题一
一、单选题
1、在一个长度为n的顺序存储的线性表中,向第i个元素(1≤i≤n+1)之前插入一个新元
素时,需要从后向前依次后移()个元素。
A.n-i B.n-i+1
C.n-i-1 D.i
2、在线性表的散列存储中,若用m表示散列表的长度,n表示待散列存储的元素的个数,
则装填因子 等于()。
A.n/m B.m/n
C.n/(n+m) D.m/(n+m)
3、若依次输入数据元素序列{a,b,c,d,e,f,g}进栈,出栈操作可以和入栈操作间隔进行,则下列哪个元素序列可以由出栈序列得到?( )什么意思。
A.{d,e,c,f,b,g,a} B.{ f,e,g,d,a,c,b}
C.{e,f,d,g,b,c,a} D.{ c,d,b,e,g,a,f}
4、知一算术表达式的中缀形式为A+B*C-D/E,后缀形式为ABC*+DE/-,其前缀形式为( )
A.-A+B*C/DE B. -A+B*CD/E
C.-+*ABC/DE D. -+A*BC/DE
5、在一个具有n个顶点的无向图中,要连通所有顶点则至少需要()条边。
A.n B.2n
C.n-1 D.n+1
二、填空题
1、已知序列(34,76,45,18,26,54,92,65,),按照逐点插入法建立一棵二叉排序列
树,该树的深度是__________________。
2、从一维数组a[n]中顺序查找出一个最大值元素的时间复杂度为________,输出一个二维
数组b[m][n]中所有元素值的时间复杂度为________。
3、在归并排序中,进行每趟归并的时间复杂度为________,整个排序过程的时间复杂度为
________,空间复杂度为________。
4、当从一个小根堆中删除一个元素时,需要把________元素填补到________位置,然后再
按条件把它逐层________调整。
5、快速排序在平均情况下的时间复杂度为________,在最坏情况下的时间复杂度为
________。
6、从一棵二叉搜索树中查找一个元素时,若元素的值等于根结点的值,则表明_______,若
元素的值小于根结点的值,则继续向________查找,若元素的大于根结点的值,则继续向________查找。
7、在一个单链表HL 中,若要向表头插入一个由指针p指向的结点,则应执行语句:。
三、运算题
1、假定一个待散列存储的线性表为(37,65,25,73,42,91,45,36,18,75),散列地址空间为
HT[12],若采用除留余数法构造散列函数和链接法处理冲突,试求出每一元素的散列地址,画出最后得到的散列表。
2、对于下图,若按照克鲁斯卡尔算法产生最小生成树,写出得到的各条边的次序。
3、对序列(76,38,65,13,97,27,50,49)采用堆积排序法(按照值的大小从小到大)进行排序,请分别在下表中写出每一趟的结果:
原始序列76 38 65 13 97 27 50 49
第1趟结果
第2趟结果
第3趟结果
第4趟结果
第5趟结果
第6趟结果
第7趟结果
第8趟结果
四、阅读算法,回答问题
1、void BB( LNode *& HL)
{
LNode *p=HL;
HL=NULL;
while (p!=NULL)
{
LNode *q=p;
p=p->next;
q->next=HL;
HL=q;
}
}
对于结点类型为Lnode的单链表,以上算法的功能为:
五、算法填空,在画有横线的地方填写合适的内容
向以BST为树根指针的二叉搜索树上插入值为item的结点的递归算法。
void Insert(ABTList BST, int & t, const ElemType & item)
{
if (t= =0)
{
int p=BST[0].right;
if(p= =0)
{
cerr<<”数组空间用完!”<<endl;
exit(1);
}
BST[0].right=BST[p].right;
BST[p].data=item;
t=p;
}
else if (item.key<Bst[t].data, item)
else
}
《数据结构》模拟题一答案及评分标准
(供参考)
一、单选题(每空2分,共10分)
1、C
2、A
3、B
4、A 5 、C
二、填空题(每空1分,共20分)
1、2 、用户定义
2、O(n)、O(m*n)
3、O(n) 、O(nlog2n) 、O(n)
4、⎡⎤1
m、m-1 、⎡⎤2/
2/-
m、m
5、堆尾、堆顶、向下
n) 、 O(n2)
6、O(nlog
2
7、查找成功、左子树、右子树
8、p->next=HL; HL=p;
三、运算题(每小题5分,共10分)
1、
平均查找长度ASL=( 7*1+2*2+3*1)/10=1.4
2、(3,4)5,(0,1)8,(4,5)9,(4,7)10,(2,4)14,(1,3)15,(4,6)31
四、阅读算法,回答问题(每小题5分,共20分)
1、将一个单链表按逆序链接。
2、(56,26,78,27,34,42)
五、算法填空,在画有横线的地方填写合适的内容(10分)。
BST[p].left=BST[p].right=0;
Insert(BST, BST[t].left, item);
Insert(BST, BST[t].right, item);。