数据结构复习答案2013-1
数据结构复习题及答案5篇
数据结构复习题及答案5篇第一篇:数据结构复习题及答案、数据结构复习题及答案中南大学现代远程教育课程考试(专科)复习题及参考答案数据结构一、判断题:1.数组是一种复杂的数据结构,数组元素之间的关系既不是线性的也不是树形的。
()2.链式存储在插人和删除时需要保持物理存储空间的顺序分配,不需要保持数据元素之间的逻辑顺序。
()3.在只有度为0和度为k的结点的k叉树中,设度为0的结点有n0个,度为k的结点有nk个,则有n0=nk+1。
()4.折半搜索只适用于有序表,包括有序的顺序表和有序的链表。
()5.如果两个串含有相同的字符,则这两个串相等。
()6.数组可以看成线性结构的一种推广,因此可以对它进行插入、删除等运算。
()7.在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针。
()8.通常递归的算法简单、易懂、容易编写,而且执行的效率也高。
()9.一个广义表的表尾总是一个广义表。
()10.当从一个小根堆(最小堆)中删除一个元素时,需要把堆尾元素填补到堆顶位置,然后再按条件把它逐层向下调整,直到调整到合适位置为止。
()11.对于一棵具有n个结点,其高度为h的二叉树,进行任一种次序遍历的时间复杂度为O(h)。
()12.存储图的邻接矩阵中,邻接矩阵的大小不但与图的顶点个数有关,而且与图的边数也有关。
()13.直接选择排序是一种稳定的排序方法。
()14.闭散列法通常比开散列法时间效率更高。
()15.有n个结点的不同的二叉树有n!棵。
()16.直接选择排序是一种不稳定的排序方法。
()17.在2048个互不相同的关键码中选择最小的5个关键码,用堆排序比用锦标赛排序更快。
()18.当3阶B_树中有255个关键码时,其最大高度(包括失败结点层)不超过8。
()19.一棵3阶B_树是平衡的3路搜索树,反之,一棵平衡的3路搜索树是3阶非B_树。
()20.在用散列表存储关键码集合时,可以用双散列法寻找下一个空桶。
(完整版)数据结构课后习题答案(可编辑修改word版)
第1 章绪论1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。
答案:数据:是客观事物的符号表示,指所有能输入到计算机中并被计算机程序处理的符号的总称。
如数学计算中用到的整数和实数,文本编辑所用到的字符串,多媒体程序处理的图形、图像、声音、动画等通过特殊编码定义后的数据。
数据元素:是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。
在有些情况下,数据元素也称为元素、结点、记录等。
数据元素用于完整地描述一个对象,如一个学生记录,树中棋盘的一个格局(状态)、图中的一个顶点等。
数据项:是组成数据元素的、有独立含义的、不可分割的最小单位。
例如,学生基本信息表中的学号、姓名、性别等都是数据项。
数据对象:是性质相同的数据元素的集合,是数据的一个子集。
例如:整数数据对象是集合N={0,±1,±2,… },字母字符数据对象是集合C={‘A’,‘B’,… ,‘Z’,‘a’,‘b’,…,‘z’},学生基本信息表也可是一个数据对象。
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。
换句话说,数据结构是带“结构”的数据元素的集合,“结构”就是指数据元素之间存在的关系。
逻辑结构:从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。
因此,数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。
存储结构:数据对象在计算机中的存储表示,也称为物理结构。
抽象数据类型:由用户定义的,表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称。
具体包括三部分:数据对象、数据对象上关系的集合和对数据对象的基本操作的集合。
2.试举一个数据结构的例子,叙述其逻辑结构和存储结构两方面的含义和相互关系。
答案:例如有一张学生基本信息表,包括学生的学号、姓名、性别、籍贯、专业等。
每个学生基本信息记录对应一个数据元素,学生记录按顺序号排列,形成了学生基本信息记录的线性序列。
数据结构1-3章习题答案2013
while(p->next!=NULL)
p=p->next;
temp=p->data;
delete p;
return temp;
}
4、数据结构简单地说是指数据以及相互之间的联系。
5、算法应具备以下5个特性:有穷性、正确性、可行性、输入和输出。
6、在分析各种算法的时间复杂度时,一般只讨论相应的数量级,用f(素的个数远远少于零元素的个数。
8、的运算规则为后进先出,队列的运算规则为先进先出。
C.(rear+1) %n= =frontD. (rear-1)%n= = front
5、下列是顺序存储线性表排序的算法
void Sort(List& L)
{
int i,j;
ElemType x;
for(i=1;i<L.size;i++)
{
x=L.list[i];
for(j=i-1;j>=0;j--)
}
不考虑健壮性条件,写出下列出队算法中缺失的语句:
ElemType OutQueue(struct QueueSq* Q)
{…
Q->front=(Q->front+1)%Q->MaxSize;
return Q->queue[Q->front];
…
}
参考以上两算法和数据结构,写出队满的条件:
(Q->rear+1)%Q->MaxSize==Q->front
和队空的条件:
Q->front==Q->rear
六、用f(n)=2n为例,说明栈与递归算法之间的关系。
数据结构课后习题答案
数据结构课后习题答案第1章绪论一、基础知识题1.1 简述下列概念数据,数据元素,数据类型,数据结构,逻辑结构,存储结构,算法。
【解答】数据是信息的载体,是描述客观事物的数、字符,以及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。
数据元素是数据的基本单位。
在不同的条件下,数据元素又可称为元素、结点、顶点、记录等。
数据类型是对数据的取值范围、数据元素之间的结构以及允许施加操作的一种总体描述。
每一种计算机程序设计语言都定义有自己的数据类型。
“数据结构”这一术语有两种含义,一是作为一门课程的名称;二是作为一个科学的概念。
作为科学概念,目前尚无公认定义,一般认为,讨论数据结构要包括三个方面,一是数据的逻辑结构,二是数据的存储结构,三是对数据进行的操作(运算)。
而数据类型是值的集合和操作的集合,可以看作是已实现了的数据结构,后者是前者的一种简化情况。
数据的逻辑结构反映数据元素之间的逻辑关系(即数据元素之间的关联方式或“邻接关系”),数据的存储结构是数据结构在计算机中的表示,包括数据元素的表示及其关系的表示。
数据的运算是对数据定义的一组操作,运算是定义在逻辑结构上的,和存储结构无关,而运算的实现则依赖于存储结构。
数据结构在计算机中的表示称为物理结构,又称存储结构。
是逻辑结构在存储器中的映像,包括数据元素的表示和关系的表示。
逻辑结构与计算机无关。
算法是对特定问题求解步骤的一种描述,是指令的有限序列。
其中每一条指令表示一个或多个操作。
一个算法应该具有下列特性:有穷性、确定性、可行性、输入和输出。
1.2数据的逻辑结构分哪几种,为什么说逻辑结构是数据组织的主要方面?【解答】数据的逻辑结构分为线性结构和非线性结构。
(也可以分为集合、线性结构、树形结构和图形即网状结构)。
逻辑结构是数据组织的某种“本质性”的东西:(1)逻辑结构与数据元素本身的形式、内容无关。
(2)逻辑结构与数据元素的相对位置无关。
(3)逻辑结构与所含数据元素的个数无关。
(完整版)数据结构试题及答案
(完整版)数据结构试题及答案《数据结构》⾃考复习思考试题○10⼀、单项选择题(本⼤题共15⼩题,每⼩题2分,共30分)在每⼩题列出的四个备选项中只有⼀个是符合题⽬要求的,请将其代码填写在题后的括号内。
错选、多选或未选均⽆分。
1. 若将数据结构形式定义为⼆元组(K,R),其中K是数据元素的有限集合,则R是K上( ) A. 操作的有限集合 B. 映象的有限集合C. 类型的有限集合D. 关系的有限集合2. 在长度为n的顺序表中删除第i个元素(1≤i≤n)时,元素移动的次数为( )A. n-i+1B. iC. i+1D. n-i3. 若不带头结点的单链表的头指针为head,则该链表为空的判定条件是( )A. head==NULLB. head->next==NULLC. head!=NULLD. head->next==head4. 引起循环队列队头位置发⽣变化的操作是( )A. 出队B. ⼊队C. 取队头元素D. 取队尾元素5. 若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进⾏,则不.可能出现的出栈序列是( )A. 2,4,3,1,5,6B. 3,2,4,1,6,5C. 4,3,2,1,5,6D. 2,3,5,1,6,46. 字符串通常采⽤的两种存储⽅式是( )A. 散列存储和索引存储B. 索引存储和链式存储C. 顺序存储和链式存储D. 散列存储和顺序存储7. 设主串长为n,模式串长为m(m≤n),则在匹配失败情况下,朴素匹配算法进⾏的⽆效位移次数为( )A. mB. n-mC. n-m+1D. n8. ⼆维数组A[12][18]采⽤列优先的存储⽅法,若每个元素各占3个存储单元,且第1个元素的地址为150,则元素A[9][7]的地址为( )A. 429B. 432.C. 435D. 4389. 对⼴义表L=((a,b),(c,d),(e,f))执⾏操作tail(tail(L))的结果是( )A. (e,f)B. ((e,f))C. (f)D. ( )10. 下列图⽰的顺序存储结构表⽰的⼆叉树是( )11. n个顶点的强连通图中⾄少含有( )A. n-1条有向边B. n条有向边C. n(n-1)/2条有向边D. n(n-1)条有向边12. 对关键字序列(56,23,78,92,88,67,19,34)进⾏增量为3的⼀趟希尔排序的结果为( )A. (19,23,56,34,78,67,88,92)B. (23,56,78,66,88,92,19,34)C. (19,23,34,56,67,78,88,92)D. (19,23,67,56,34,78,92,88)13. 若在9阶B-树中插⼊关键字引起结点分裂,则该结点在插⼊前含有的关键字个数为( ) A. 4 B. 5C. 8D. 914. 由同⼀关键字集合构造的各棵⼆叉排序树( )A. 其形态不⼀定相同,但平均查找长度相同B. 其形态不⼀定相同,平均查找长度也不⼀定相同C. 其形态均相同,但平均查找长度不⼀定相同.D. 其形态均相同,平均查找长度也都相同15. ISAM⽂件和VSAM⽂件的区别之⼀是( )A. 前者是索引顺序⽂件,后者是索引⾮顺序⽂件B. 前者只能进⾏顺序存取,后者只能进⾏随机存取C. 前者建⽴静态索引结构,后者建⽴动态索引结构D. 前者的存储介质是磁盘,后者的存储介质不是磁盘⼆、填空题(本⼤题共10⼩题,每空2分,共20分)16. 数据的逻辑结构在计算机存储器内的表⽰,称为数据的____________。
2013年山东科技大学数据结构与操作系统--真题及参考答案
《数据结构》部分一、简答题(10分,每题5分)1、数据元素之间的关系在计算机中的存储有几种表示方法?各有什么特点?(P6)解:数据元素之间的关系在计算机中有四种不同的表示方法:(1)顺序存储方法。
数据元素顺序存放,每个结点只含有一个元素。
存储位置反映数据元素间的逻辑关系。
存储密度大,但有些操作(如插入、删除)效率较差。
(2)链式存储方法。
每个结点除包含数据元素信息外还包含一组指针。
指针反映数据元素间的逻辑关系。
这种操作不要求存储空间连续,便于进行插入和删除等操作,但存储空间利用率较低。
另外,由于逻辑上相邻的数据元素在存储空间上不一定相邻,所以不能对其进行随机存取。
(3)索引存储方法。
除数据元素存储在一地址连续的内存空间外,尚需建立一个索引表。
索引表中的索引指示结点的存储位置,兼有动态和静态特性。
(4)哈希(或散列)存储方法。
通过哈希函数和解决冲突的方法,将关键字散列在连续的有限的地址空间内,并将哈希函数的值作为该数据元素的存储地址。
其特点是存取速度快,只能按关键字随机存取,不能顺序存储,也不能折半存取。
2、对于堆排序法,快速排序法和归并排序法,若仅从节省存储空间考虑,则应该首先选取其中哪种方法?其次选取哪种方法?若仅考虑排序结果的稳定性,则应该选取其中哪种方法?若仅从平均情况下排序最快这一点考虑,则应该选取其中哪些方法?(P289)答:若只从存储空间考虑,则应首先选取堆排序方法,其次选取快速排序方法,最后选取归并排序方法;若只从排序结果的稳定性考虑,则应选取归并排序方法;若只从平均情况下最快考虑,则应选取快速排序方法;若只从最坏情况下最快并且要节省内存考虑,则应选取堆排序方法。
二、应用题(55分)1、证明:同一棵二叉树的所有叶子结点,在前序序列、中序序列以及后序序列中都按相同的相对位置出现(即先后顺序相同)。
(8分)(例如先序abc,后序bca,中序bac。
)(P128) 答:【答案】先序遍历是“根左右”,中序遍历是“左根右”,后序遍历是“左右根”。
(完整版)数据结构复习题目及答案
(完整版)数据结构复习题目及答案数据结构 -C 语言版》第一章绪论单项选择题1.在数据结构中,数据的基本单位是 ________2.数据结构中数据元素之间的逻辑关系被称为__ ___ 。
A. 数据的存储结构B. 数据的基本操作C. 程序的算法3.在数据结构中,与所使用计算机无关的是数据的________ ___。
A. 存储结构B. 逻辑和物理结构C. 逻辑结构4.在链式存储结构中,数据之间的关系是通过 _______ ___ 体现的。
A. 数据在内存的相对位置B. 指示数据元素的指针C. 数据的存储地址D. 指针5.计算算法的时间复杂度是属于一种 ______ ___。
A. 事前统计的方法B. 事前分析估算的方法C. 事后统计的方法D. 事后分析估算的方法6.在对算法的时间复杂度进行估计的时候,下列最佳的时间复杂度是A. n 2B. nlognC. nD. logn 7.设使用某算法对 n 个元素进行处理,所需的时间是T(n)=100nlog 2n+200n+2000,则该算法的渐近时间复杂度为 _____ ___。
A. 数据项B. 数据类型C. 数据元素D. 数据变量D. 数据的逻辑结构D. 物理结构A. O(1)B. O(n)C. O(200n)D. O(nlog2n)CDCBBDD第二章线性表单项选择题1 ?链表不具有的特点是 __________ 。
A.可随机访问任一元素B.插入和删除时不需要移动元素C.不必事先估计存储空间D.所需空间与线性表的长度正比2.设顺序表的每个元素占 8个存储单元。
第1个单元的存储地址是100,则第6个元素占用的最后一个存储单元的地址为 ______________ 。
3 ?在线性链表存储结构下,插入操作算法_______________ B. p_>next = p_>n ext;D. p = p->n ext; p->n ext = p->n ext- >n ext;5 .将长度为n 的单链表接在长度为 m 的单链表之后的算法时间复杂度为 __________________ A. 0( n)B. 0(1)C. 0(m)D. 0(m+n)6 ?需要预分较大空间,插入和删除不需要移动元素的线性表,其存储结构是 ________A.单链表B.静态链表C.线性链表D.顺序存储方式ACCABB 填空题1 ?在带表头结点的单链表中,当删除某一指定结点时,必须找到该结点的 ____ 结点。
数据结构总复习+习题+解答
数据结构复习资料
数据结构总复习+习题解答
第一章 绪论
1.1 理解基本概念 1、数据是信息的载体,是描述客观事物的数、字符以及能输入到计算机中,被计算机识别 和处理的符号的集合。 2、数据元素是数据的基本单位,可由若干数据项组成。 3、数据对象是性质相同的数据元素的集合。 4、数据结构指某一数据元素集合中所有数据成员之间的关系,定义为: 数据结构={D,R} 5、数据结构三要素:逻辑结构,物理结构,作用于数据结构的运算。 6、逻辑结构:数据元素间的逻辑关系,分为线性结构和非线性结构(集合、树和图结构) 。 7、物理结构:数据元素及其关系在计算机上的映像,通常按顺序存储或链式存储。 8、抽象数据类型定义了一个数据对象,数据对象中各元素之间的关系以及一组处理数据的 操作。特征:数据抽象和信息隐藏。 9、数据类型和数据结构的异同: 同:它们都具有抽象性,并不特指适用于何处,可根据问题需要用他们来表示数据元 素间的关系。 异:数据结构本身是一种数据的组织和使用形式,通过把数据定义成数据类型才能在 计算机上使用。 1.2 算法特性与性能分析 1、算法的定义:解决特定问题的一系列操作。 2、算法的 5 大特性(要素) :输入、输出、确定性、可行性和有限性。 3、算法时间复杂度分析:寻找关键操作(基本操作,通常为循环的最内层程序段) ,计算关 键操作的执行次数,一般结果为问题规模 n 的多项式。时间复杂度为该多项式的最高次幂。 T(n)=O(1)的含义:常量时间复杂度,表示算法执行时间与问题规模无关。 4、算法空间复杂度分析:算法执行时所需要的辅助空间。 S(n)=O(1)的含义: 常量空间复杂度,表示算法执行时需要的辅助空间与问题规模无关,也 称为算法原地工作。 题 1.1 如何理解抽象数据类型。 答:定义了一个数据对象,数据对象中各元素之间的关系以及一组处理数据的操作。 题 1.2 数据元素间的逻辑结构关系有哪些。 答:四种。分别是集合结构、线性结构、树状结构、图状结构。 题 1.3 通常从时间复杂度和空间复杂度来评价算法的优劣。 题 1.4 下面算法的时间复杂度为(C) int i,j; for(i=0;i<m;i++) for(j=0;j<n;j++) a[i][j]=i*j;
02331数据结构2013年1 月份历年真题附答案
2013年1月高等教育自学考试全国统一命题考试数据结构试题课程代码:02331考生答题注意事项:1.本卷所有试卷必须在答题卡上作答。
答在试卷和草稿纸上的无效。
2.第一部分为选择题。
必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。
3.第二部分为非选择题。
必须注明大、小题号,使用0.5毫米黑色字迹笔作答。
4.合理安排答题空间,超出答题区域无效。
选择题部分一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。
错涂、多涂或未涂均无分。
1.数据的逻辑结构可以分为A.动态结构和静态结构 B.顺序结构和链式结构C.线性结构和非线性结构 D.简单结构和构造结构2.线性表是一个有限序列,组成线性表的基本单位是A.数据项 B.数据元素C.数据域 D.字符3.栈中有a、b和c三个元素,a是栈底元素,c是栈顶元素,元素d等待进栈,则不可..能.的出栈序列是A.dcba B.cbdaC.cadb D.cdba4.稀疏矩阵的三元组表是A.顺序存储结构 B.链式存储结构C.索引存储结构 D.散列表存储结构5.已知广义表G,head(G)与tail(G)的深度均为6,则G的深度是A.5 B.6C.7 D.86.下列编码集合中,属于前缀编码的一组是A.{11,10,001,101,0001}B.{00,010,0110,1000}C.{11,01,001,0101,0001}D.{0,10,110,1011}7.如题7图所示二叉树的中序序列为A.ACDBB.DCBAC.CDBAD.ABCD题7图8.有向图中所有顶点入度之和与所有顶点出度之和的比是A.1/2 B.1C.2 D.49.含有n个顶点和e条边的有向图的邻接矩阵中,零元素的个数是A.eB.2eC.n2-2eD.n2-e10.n个顶点的无向连通图,其生成树的边数为A.n-lB.nC.n+lD.nlogn11.用自底向上的冒泡排序方法对序列(8,13,26,55,29,44)从大到小排序,第一趟排序需进行交换的次数为A.2 B.3C.4 D.512.对序列(8,13,26,55,29,44)从小到大进行基数排序,第一趟排序的结果是A.(13,44,55,26,8,29)B.(13,26,55,44,8,29)C.(8,13,26,29,44,55)D.(29,26,8,44,55,13)13.采用分块查找时,要求数据A.块内有序 B.分块有序C.分块无序 D.每块中数据个数必须相同14.下列关于散列函数的说法正确的是A.散列函数越复杂越好B.散列函数越简单越好C.用除余法构造的散列函数是最好的D.在冲突尽可能少的情况下,散列函数越简单越好15.下列关于m阶B树的叙述中,错误..的是A.每个结点至多有m棵子树B.每个结点至多有m-1个关键字 C .所有的叶结点均在同一层上 D.根结点至少有/2m ⎡⎤⎢⎥棵子树非选择题部分注意事项:用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。
2013年-数据结构-复习题
第一部分:数据结构——线性结构(顺序表、链表、栈、队列、数组、串)考点:1、时间复杂度2、数据的逻辑结构与存储结构相关知识——分类、与存储结构之间的关系3、顺序表的知识——特点4、链表的知识——编程求单链表中结点的个数、插入、删除。
5、栈与队列知识——特点、循环队列、基本术语、链队列6、数组与矩阵——求元素的地址、稀疏矩阵行优先存储:下标从1开始:Loc(A i,j) = Loc(A1,1)+[(i-1)*n+j-1]*b下标从0开始:Loc(A i,j) = Loc(A0,0)+(i*n+j)*b 列优先存储:下标从1开始:Loc(A i,j) = Loc(A1,1)+[(j-1)*m+i-1]*b下标从0开始:Loc(A i,j) = Loc(A0,0)+(j*m+i)*b1. 设顺序线性表中有n个数据元素,则第i个位置上插入一个数据元素需要移动表中___________个数据元素;删除第i个位置上的数据元素需要移动表中___________个元素。
2.数据的逻辑结构通常有集合、线性结构、_________ 和 _________ 四类结构。
3.若进栈序列为a、b、c ,且进栈和出栈可以穿插进行,则可能出现_________个不同的出栈序列。
4.在栈结构中,允许插入的一端称为 _________;在队列结构中,允许删除的一端称为 _________。
5. 下列程序段的时间复杂度为_____________s=0;for(i=1;i<n;i++)for(j=1;j<n;j++)s+=i*j;6. 假设某个带头结点的单链表的头指针为head,则判定该表为空表的条件()A、head= =NULLB、head->next= =NULLC、head!=NULLD、head->next= =head7. 栈是一种操作受限的线性结构,其操作的主要特点是()A、先进先出B、后进先出C、进优于出D、出优于进8. 假设以数组A[n]存放循环队列的元素,其头、尾指针分别为front和rear。
2013年自考数据结构课后习题答案
1第一章绪论1.1 简述下列概念:数据、数据元素、数据类型、数据结构、逻辑结构、存储结构、线性结构、非线性结构。
● 数据:指能够被计算机识别、存储和加工处理的信息载体。
● 数据元素:就是数据的基本单位,在某些情况下,数据元素也称为元素、结点、顶点、记录。
数据元素有时可以由若干数据项组成。
● 数据类型:是一个值的集合以及在这些值上定义的一组操作的总称。
通常数据类型可以看作是程序设计语言中已实现的数据结构。
● 数据结构:指的是数据之间的相互关系,即数据的组织形式。
一般包括三个方面的内容:数据的逻辑结构、存储结构和数据的运算。
● 逻辑结构:指数据元素之间的逻辑关系。
● 存储结构:数据元素及其关系在计算机存储器内的表示,称为数据的存储结构.● 线性结构:数据逻辑结构中的一类。
它的特征是若结构为非空集,则该结构有且只有一个开始结点和一个终端结点,并且所有结点都有且只有一个直接前趋和一个直接后继。
线性表就是一个典型的线性结构。
栈、队列、串等都是线性结构。
● 非线性结构:数据逻辑结构中的另一大类,它的逻辑特征是一个结点可能有多个直接前趋和直接后继。
数组、广义表、树和图等数据结构都是非线性结构。
1.2 试举一个数据结构的例子、叙述其逻辑结构、存储结构、运算三个方面的内容。
答:例如有一张学生体检情况登记表,记录了一个班的学生的身高、体重等各项体检信息。
这张登记表中,每个学生的各项体检信息排在一行上。
这个表就是一个数据结构。
每个记录(有姓名,学号,身高和体重等字段)就是一个结点,对于整个表来说,只有一个开始结点(它的前面无记录)和一个终端结点(它的后面无记录),其他的结点则各有一就确定了这个表的逻辑结构是线性结构。
这个表中的数据如何存储到计算机里,并且如何表示数据元素之间的关系呢? 即用一片连续的内存单元来存放这些记录(如用数组表示)还是随机存放各结点数据再用指针进行链接呢? 这就是存储结构的问题。
在这个表的某种存储结构基础上,可实现对这张表中的记录进行查询,修改,删除等操作。
数据结构复习题及答案
数据结构习题一、名词解释1. 数据、数据元素、数据项、数据结构、数据的逻辑结构、数据物理结构、顺序存储、链式存储、算法、时间复杂度、空间复杂度。
2. 线性表、顺序表、单链表、双向链表、循环链表、双向循环链表、三个概念的区别:头指针、头结点、首元结点(第1个元素结点)。
3. 栈(顺序栈、链栈)、队列(顺序队、链队)、循环队列、递归、稀疏矩阵、三元组。
4. 树、叶子结点、结点的度、树的度、树的高(深)度、二叉树、遍历、满二叉树、完全二叉树、哈夫曼树、WPL、哈夫曼编码。
5. 图(有向、无向)、网、边、弧、度、入度、出度、完全图(有向、无向)、(强)连通图(分量)、(最小)生成树、邻接矩阵、邻接表、DFS、BFS。
6. 查找表、关键字、静态查找、动态查找、ASL、顺序查找、折半查找、分块查找、二叉排序树。
7、排序、内(外)排序、稳定性、插入(直接、希尔),交换(起泡、快速),选择(直接、堆),2路归并。
一、填空题1.数据结构是研究数据的_逻辑结构__和___物理结构__,并在这种结构上定义相关的运算,设计实现这些运算的算法,分析算法的效率。
算法的效率包括时间和空间两个方面,分别称为___时间复杂度____和__空间复杂度___。
2.数据的基本单位是__数据元素__ ,数据的最小单位是__数据项_ 。
3.算法是对特定问题求解___步骤___的一种描述,是指令的有限序列。
4.一个算法的时间复杂度为(3n3+2n—7),其数量级表示为O(n3)_。
5.一个算法具有5个特性:确定性、可行性、有穷性、输入和输出。
6.算法性能的分析和度量,可以从算法的时间复杂度和空间复杂度来评价算法的优劣。
7.数据的逻辑结构包括集合结构、线性结构、树形结构和图型结构四种类型。
8.数据结构在计算机中的表示称为数据的物理结构,它可以采用__顺序存储___或__链式存储_两种存储方法。
9.线性表有两种存储结构,分别为顺序存储和链式存储。
考研 数据结构试题(含答案)
我以一名大学生的人格尊严保证,在本场考试中,自觉遵守考试纪律,服从考试管理,决不作弊或帮助别人作弊!签名:学院专业学号级班··················密···················封·····················线··················命题人签字:系主任签字:审核院长签字:共印份数:第1页共6页聊城大学计算机学院2012—2013学年第1学期期末考试2011级《数据结构》试题(闭卷B卷)一、单项选择题(共15题,每题2分,共30分)1.研究数据结构就是研究(D )。
A.数据的逻辑结构B.数据的存储结构C.数据的逻辑结构和存储结构D.数据的逻辑结构、存储结构及其基本操作2.在数据结构中,从逻辑上可以把数据结构分为(C )。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构3.算法分析的两个主要方面是(A )。
A.空间复杂度和时间复杂度B.正确性和简单性C.可读性和文档性D.数据复杂性和程序复杂性4.下面程序段的时间复杂度是( C )。
数据结构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为基准记录的⼀趟快速排序结束后的结果为( )。
数据结构历年试题及答案
试卷代号:1252中央广播电视大学2012-2013学年度第二学期“开放本科”期末考试一、单项选择题(每小题2分,共30分)1.在C语言中,顺序存储长度为3的字符串,需要占用( )个字节。
A.4 B.3 C.6 D.12 2。
串函数StrCat(a,b)的功能是进行串( )。
A.比较B.复制C.赋值D.连接3.-棵有n个结点采用链式存储的二叉树中,共有( )个指针域为空。
A.n+l B.n C.n-l D.n-2 4.设一棵哈夫曼树共有n个非叶结点,则该树有( )个叶结点。
A.n B.n+l C.n-l D.2n 5.从一个栈顶指针为top的链栈中删除一个结点时,用变量x保存被删结点的值,则执行( )。
A. x=top->data;top=top->next B.x=top->dataC. top= top->next; x=top->dataD.top=top->next;x=data6.一棵完全二叉树共有5层,且第5层上有六个结点,该树共有( )个结点。
A.30 B.20 C.21 D.237.在一个无向图中,所有顶点的度数之和等于边数的( )倍。
^A.O上;.B.3 C.1.5 D.2 8.已知如图1所示的一个图,若从顶点V,出发,按深度优先搜索法进行遍历,则可能得到的一种顶点序列为( )。
9.已知如图2所示的一个图,若从顶点a出发,按广度优先搜索法进行遍历,则可能得到的一种顶点序列为( )。
A. abcedf B. abcefd C. aebcfd D. acfdeb10.对二叉排序树进行( )遍历,可以使遍历所得到的序列是有序序列。
A.按层次B.后序C.中序D.前序11.在有序表(2,4,7,14,34,43,47,64,75,80,90,97,120)中,用折半查找法查找值80 时,经( )次比较后查找成功。
A.4 B.2 C.3 D.512.有一个长度为9的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的平均比较次数为( )。
数据结构复习题答案
计信《数据结构》复习题答案一、选择题1.如果某数据结构的数据元素的集合为S ={A ,B ,C ,D ,E ,F ,G},数据元素之间的关系为R ={<A ,D >,<A ,G >,<D ,B >,<D ,C >,<G ,E >,<G ,F >},则该数据结构是一种( )。
A .线性结构B .树结构C .图结构D .链表结构2.设有二维数组A[50][60],其元素长度为1字节,按列优先顺序存储,首元素A[0][0]的地址为200,则元素A[10][20]的存储地址为( )。
A .820 B .720 C .1210 D .14103.设栈S 和队列Q 的初始状态为空,元素e1,e2,e3,e4,e5,e6先后进入栈S ,一个元素出栈后即进入队列Q ,若6个元素的出队顺序是e2,e4,e3,e6,e5,e1,则栈S 至少可以容纳( )个元素。
A .3B .4C .5D .6 4.串是 。
A )不少于一个字母的序列B )任意个字母的序列C )不少于一个字符的序列D )有限个字符的序列 5.A ,B ,C ,D 依次入栈,则不可能的出栈序列是 。
A )A ,B ,C ,D C )D ,C ,B ,A B )A ,C ,D ,B D )D ,A ,B ,C 6.栈和队列的共同点是 。
A )都是先进后出B )都是先进先出C )只允许在端点处插入和删除D )都采用顺序方式存储7.在线索二叉树中,指针t 所指结点没有左子树的充要条件是 。
A )t->lchild==NULLB )t->ltag==1C )t->ltag==1且t->lchild==NULLD )t->ltag==0 8.对具有n 个结点的完全二叉树按自上而下、从左至右的顺序,从1开始依次给结点编号,则编号最小的叶子结点的序号是 。
A )⎥⎦⎥⎢⎣⎢2nB )⎥⎦⎥⎢⎣⎢2n +1C )⎥⎦⎥⎢⎣⎢2n -1D )⎥⎥⎤⎢⎢⎡2n -19.下列算法中 是用来构造无向连通图的最小生成树的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构复习答案一、选择填空1.下面关于线性表的叙述中,错误的是哪一个?()A)线性表采用顺序存储,必须占用一片连续的存储单元。
√B)线性表采用顺序存储,便于进行插入和删除操作。
C)线性表采用链接存储,不必占用一片连续的存储单元。
D)线性表采用链接存储,便于插入和删除操作。
2.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。
√A)顺序表B)双链表C)带头结点的双循环链表D)单循环链表3.链表不具有的特点是()。
A)插入、删除不需要移动元素√B)可随机访问任一元素C)不必事先估计存储空间D)所需空间与线性长度成正比4.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为()(1<=i<=n+1)。
A)O(0) B)O(1) √C)O(n) D)O(n2)5.线性表(a1,a2,…,an)以链接方式存储时,访问第i位置元素的时间复杂度为()。
A)O(i) B)O(1) √C)O(n) D)O(i-1)6.对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是()A)head==NULL B)head→next==NULL√C)head→next==head D)head!=NULL7.在单链表指针为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;8.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为( )。
√A)p->next=p->next->next B)p=p->nextC)p=p->next->next D)p->next=p9.( )又称为FIFO表;( )又称为FILO表。
√A)队列B)散列表√C)栈D)哈希表10.对于栈操作数据的原则是()。
A)先进先出√B)后进先出C)后进后出D)不分顺序11.用不带头结点的单链表存储队列时,其队头指针指向队头结点,其队尾指针指向队尾结点,则在进行删除操作时( )。
√A)仅修改队头指针B)仅修改队尾指针C)队头、队尾指针都要修改D)队头、队尾指针都可能要修改12.假设以数组A[m]存放循环队列的元素,其头尾指针分别为front和rear,则当前队列中的元素个数为()。
√A)(rear-front+m)%m B)rear-front+1 C)(front-rear+m)%m D)(rear-front)%m 13.栈和队列的共同点是()。
A)都是先进先出B)都是先进后出√C)只允许在端点处插入和删除元素D)没有共同点14.设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5和e6依次通过栈S,一个元素出栈后即进队列Q,若6个元素出队的序列是e2,e4,e3,e6,e5,e1则栈S的容量至少应该是( )。
A)6 B)4 √C) 3 D)215.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为()。
A)12 √B)33 C)18 D)4016.由3 个结点可以构造出多少种不同的二叉树?( )A)2 B)3 C)4 √D)517.二叉树中第i(i≥1)层上的结点数最多有( )个。
A)2i B)2i√C)2i-1D)2i-118.在有n个叶子结点的哈夫曼树中,其结点总数为( )。
A)不确定B)2n C)2n+1 √D)2n-119.一棵二叉树高度为h,所有结点的度或为0、或为2,则这棵二叉树最少有( )结点。
A)2h √B)2h-1 C)2h+1 D)h+120.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( )。
A)9 √B)11 C)15 D)不确定21.树的后根遍历序列等同于该树对应的二叉树的( )。
A)先序序列√B)中序序列C)后序序列D)层序序列22.在二叉树结点的先序序列,中序序列和后序序列中,所有叶子结点的先后顺序( )。
A)都不相同√B)完全相同C)先序和中序相同,而与后序不同D)中序和后序相同,而与先序不同23.下列哪一种图的邻接矩阵是对称矩阵?( )A)有向图√B)无向图C)AOV网 D)AOE网24.在一个无向图中,所有顶点的度数之和等于所有边数( 2 )倍,在一个有向图中,所有顶点的入度之和等于所有顶点出度之和的( 1 )倍。
A)1/2 √B)2 √C)1 D)425.一个有n个顶点的无向图最多有( )条边。
由n个顶点组成的有向图,最多可以有( )条边。
A)n*n B)2n √C)n(n-1) √D)n(n-1)/226.下列说法不正确的是( )。
A)图的遍历是从给定的源点出发每一个顶点仅被访问一次B)遍历的基本算法有两种:深度遍历和广度遍历√C)图的深度遍历不适用于有向图D)图的深度遍历是一个递归过程27.下面哪一方法可以判断出一个有向图是否有环(回路) ( )。
A)深度优先遍历√B)拓扑排序C)求最短路径D)求关键路径28.下列算法中,( )算法用来求图中每对顶点之间的最短路径。
A)Dijkstra √B)Floyed C)Prim D)Kruskal29.关键路径是事件结点网络中( )。
√A)从源点到汇点的最长路径B)从源点到汇点的最短路径C)最长回路D)最短回路30.若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为( )。
A)(n-1)/2 B)n/2 √C)(n+1)/2 D)n31.下面关于二分查找的叙述正确的是() 。
A)表必须有序,表可以顺序方式存储,也可以链表方式存储B)表必须有序,而且只能从小到大排列C 表必须有序且表中数据必须是整型,实型或字符型√D)表必须有序,且表只能以顺序方式存储32.折半查找的时间复杂性为() 。
A)O(n2)B)O(n)C)O(nlogn)√D)O(logn)33.当采用分快查找时,数据的组织方式为() 。
A)数据分成若干块,每块内数据有序√B)数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块C)数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块D)数据分成若干块,每块(除最后一块外)中数据个数需相同34.下面关于哈希(Hash,杂凑)查找的说法正确的是()。
A)哈希函数构造的越复杂越好,因为这样随机性好,冲突小B)除留余数法是所有哈希函数中最好的√C)不存在特别好与坏的哈希函数,要视情况而定D)若需在哈希表中删去一个元素,不管用何种方法解决冲突都只要简单的将该元素删去即可35.下面给出的四种排序法中( )排序法是不稳定性排序法。
A)插入B)冒泡C)二路归并√D)堆36.稳定的排序方法是( ) 。
A)直接插入排序和快速排序√B)折半插入排序和起泡排序C)简单选择排序和四路归并排序D)树形选择排序和shell排序37.有一组数据(15,9,7,8,20,-1,7,4) 用快速排序的划分方法进行一趟划分后数据的排序为( )(按递增序)。
√A)下面的B,C,D都不对。
B)9,7,8,4,-1,7,15,20C)20,15,8,9,7,-1,4,7 D)9,4,7,8,7,-1,15,2038.设有一个文件有200个记录,按分块查找法查找记录,如分成10块,每块20个记录,用二分查找法查索引表,用顺序查找法查块内记录,则平均查找长度为( )。
A)8)4 B)10)5 C)13)4 √D)1639.快速排序在最坏情况下的时间复杂性为( )。
A)O(nlog2n) √B)O(n2) C)O(n) D)O(nlogn)二、填空1.一个算法的效率可分为时间效率和空间效率。
2.线性表L=(a1,a2,…,an)用数组表示,假定插入、删除表中任一元素的概率相同,则插入、删除一个元素平均需要移动元素的个数是n/2和(n-1)/2。
3.对于一个具有n个结点的单链表,在已知的结点*p后插入一个新结点的时间复杂度为O(1),在给定值为x的结点后插入一个新结点的时间复杂度为O(n) 。
4.顺序存储结构是通过元素在计算机内“物理位置相邻”表示元素之间的逻辑关系的,链式存储结构是通过指针表示元素之间的逻辑关系的。
5.带头结点的双循环链表L为空表的条件是:p-next=head 。
6.当两个栈共享一存储区时,栈利用一维数组stack(1,n)表示,两栈顶指针为top1与top2,则当栈1空时,top1为 1 ,栈2空时,top2为n ,栈满时为top1+top2==n。
7.顺序栈S用data[1))n]存储数据,栈顶指针是top,则值为x的元素入栈的操作是*S)top++=x 。
8.已知链队列Q的头尾指针分别是f和r,则将值x入队的操作序列是p->data=e;p->next=NULL;Q)r->next=p;Q)r=p;。
9.稀疏矩阵的存储策略是只存储非零元素。
10. 稀疏矩阵的存储方法主要有两个:一个是 三元组 ,另一个是十字链表示法。
11. 二叉树由 根 , 左子树 、 右子树 三个基本单元组成。
12. 一棵有n 个结点的满二叉树有 n 1=0 个度为1的结点、有 (n-1)/2, (n 1+2n 2)个分支 (非终端)结点和 (n=n 0+n 1+n 2, n 0= n 2+1), (n+1)/2 个叶子,该满二叉树的深度为log 2(n+1) 。
13. 设F 是由T1,T2,T3三棵树组成的森林,与F 对应的二叉树为B ,已知T1,T2,T3的结点数分别为n1,n2和n3则二叉树B 的左子树中有 n1-1 个结点,右子树中有 n2+n3 个结点。
14. 线索二叉树的左线索指向其 前驱 右线索指向其 后继 。
15. 设一棵Huffman 树有6个叶结点,权值分别为3、4、7、14、15、20,则根节点的权值是 63 。
当 初始记录序列按关键字有序或基本有序 时,快速排序算法的时间复杂性为O(n 2)。
16. 在有n 个结点的二叉链表中,空链域的个数为 n+1 。
17. 设一棵完全二叉树具有1000个结点,则此完全二叉树有 500 个叶子结点,有 499 个度为2的结点,有 1 个度为1的结点。
18. 若用n 表示图中顶点数目,则有 n*(n-1)/2 条边的无向图成为完全图。