数据结构复习题
《数据结构》复习题题库
一、单项选择题(本大题共71小题,每小题2分,共142分)1、一个对象序列的排序码为{46,79,56,38,40,84},采用快速排序以位于最左位置的对象为基准而得到的第一次划分结果为()。
()A.{38,46,79,56,40,84}B.{38,79,56,46,40,84}C.{40,38,46,56,79,84}D.{38,46,56,79,40,84}标准答案:C2、广义表((a),a)的表头是()。
()A.aB.bC.(a)D.((a))标准答案:C3、数组A中,每个元素A的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,存放该数组至少需要的单元数是()。
()A.80B.100C.240D.270标准答案:C4、在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行()。
()A.HL=p;p->next=HL;B.p->next=HL;HL=p;C.p->next=HL;p=HL;D.p->next=HL->next;HL->next=p;标准答案:B5、一个具有n个顶点的无向完全图的边数为()。
()A.(n+1)/2B.n(n-1)/2C.n(n-1)D.n(n+1)标准答案:B6、如果待排序序列中两个数据元素具有相同的值,在排序后它们的位置发生颠倒,则称该排序是不稳定的。
下列选项中,()就是不稳定的排序方法。
()A.起泡排序B.归并排序C.直接插入法排序D.简单选择排序标准答案:D7、按照二叉树的定义,具有3个结点的二叉树有()种。
()A.3B.4C.5D.6标准答案:C8、设有1000个元素,用二分法查找时,最大比较次数是()。
()A.1B.7C.10D.25标准答案:C9、树适合用来表示()。
()A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据标准答案:C10、设有两个串p和q,求p在q中首次出现的位置的运算称作()。
数据结构复习习题和答案(DOC)
第一章绪论一、单项选择题1.数据结构是一门研究非数值计算的程序设计问题中计算机的①以及它们之间的②和操作等的学科。
① A.操作对象 B.计算方法 C·逻辑存储 D.数据映象② A.结构 B.关系 C.运算. D.算法2.数据结构被形式地定义为(D,R),其中D是①的有限集合,R是D上的②有限集合。
① A.算法 B.数据元素 C.数据操作 D.逻辑结构② A.操作 B.映象 C、存储 D.关系3.在数据结构中,从逻辑上可以把数据结构分成()。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.内部结构和外部结构4·算法分析的目的是①,算法分析的两个主要方面是②。
① A. 找出数据结构的合理性 B.研究算法中的输入和输出的关系C. 分析算法的效率以求改进D. 分析算法的易懂性和文档性② A. 空间复杂性和时间复杂性 B.正确性和简明性C.可读性和文档性 D.数据复杂性和程序复杂性5.计算机算法指的是①,它必具备输入、输出和②等五个特性。
① A. 计算方法 B.排序方法 C. 解决问题的有限运算序列 D.调度方法② A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性C. 确定性、有穷性和稳定性 D.易读性、稳定性和安全性6. 线性表的逻辑顺序与存储顺序总是一致的,这种说法()。
A. 正确 B.不正确7. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址()。
A. 必须是连续的 B.部分地址必须是连续的C. 一定是不连续的D. 连续或不连续都可以8.数据结构通常是研究数据的()及它们之间的相互联系。
A.存储和逻辑结构 B.存储和抽象C.理想与抽象 D.理想与逻辑9.数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为()。
A.存储结构 B.逻辑结构 C.顺序存储结构 D.链式存储结构11.非线性结构是数据元素之间存在一种()。
数据结构复习题及答案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.在用散列表存储关键码集合时,可以用双散列法寻找下一个空桶。
《数据结构》复习题
《数据结构》复习题一.选择题:1.数据结构是研究数据的( ) 以及它们之间的相互关系A.理想结构,物理结构B.理想结构,抽象结构C.物理结构,逻辑结构D.抽象结构,逻辑结构2. 组成数据的基本单位是()A.数据项B.数据类型C. 数据元素D. 数据变量3. 如果某数据结构的数据元素的集合为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. 链表结构4. 线性表的链接实现有利于( ) 运算A.插入B.读表元C.查找D.定位5. 设一数列的输入顺序为1,2,3,4,5,6通过栈操作不可能排成的输出序列为()A. 3,2,5,6,4,1B. 1,5,4,6,2,3C. 2,4,3,5,1,6D. 4,5,3,6,2,16. 设字符串S1=‘ABCDEFG’,S2=‘PQRST’则运算S=Concat(Sub(S1,2,Length(S2)),Sub(S1,Length(S2),2))后结果为()A.‘BCQR’B.‘BCDEF’C.‘BCDEFG’D.‘BCDEFEF’7. 设单链表中指针P指向结点A,若要删除A之后的结点(若存在),则修改指针的操作为()A. p→next= p→next→nextB. p= p→nextC. p= p→next→nextD. p→next = p8. 线性表采用链式存储时,其地址()A. 必须是连续的B.部分地址必须是连续的C. 一定是不连续的D.连续与否均可以9. 在内部排序时,排序不稳定的有()A.插入排序B. 冒泡排序C. 快速排序D.归并排序10. 设有1000个元素,用折半法查找时,最小比较次数为()A.0B. 1C.10D. 50011. 将一个元素进入队列的时间复杂度是()n)A. O (1)B. O (n)C. O (n2)D. O (log212. 在一个具有n个结点的单链表中查找其值等x的结点,在查找成功的情况下,需要比较()个元素结点A. n/2B. nC. (n+1)/2D. (n-1)/213. 从一个长度为n的顺序表中删除第i个元素(1≤i≤n),需向前移动()个元素A. n-iB. n-i+1C. n-i-1D. i14. 总共3层的完全二叉树,其结点数至少有()A.3B. 4C.7D.815. 队列操作的原则是()A. 先进先出B.后进先出C. 只能进行插入D. 只能进行删除16. 若线性表最常用的操作是存取第i个元素及其前驱元素的值,则采用()存储方式最节省时间A.单链表B. 双向链表C. 音循环链表D. 顺序表17. 栈和队列都是()A. 顺序存储的线性结构B. 限制存取点的线性结构C. 链接存储的线性结构D. 限制存取点的非线性结构18. 与线性表的链接存储相符的特性是()A.插入和删除操作灵活B. 需要连续存储空间C. 便于随机访问D. 存储密度大19.若进队序列为1,2,3,则出队序列是()A.3,2,1B. 1,3,2C. 1,2,3D. 3,2,120. 在单向循环链表中,若头指针为h,那么p所指结点为尾结点的条件是()A. p= NULLB. p→next= NULLC. p=hD. p→next= h3. 在双向循环链表中,在指针P所指的结点之后插入指针f所指的结点,其操作为。
(完整版)数据结构复习题(附答案)
(完整版)数据结构复习题(附答案)⼀、算法设计题(每题15分,共60分)答题要求:①⽤⾃然语⾔说明所采⽤算法的思想;②给出每个算法所需的数据结构定义,并做必要说明;③写出对应的算法程序,并做必要的注释。
1、有⼀个带头结点的单链表,每个结点包括两个域,⼀个是整型域info,另⼀个是指向下⼀个结点的指针域next。
假设单链表已建⽴,设计算法删除单链表中所有重复出现的结点,使得info域相等的结点只保留⼀个。
3、约瑟夫环问题(Josephus问题)是指编号为1、2、…,n的n(n>0)个⼈按顺时针⽅向围坐成⼀圈,现从第s个⼈开始按顺时针⽅向报数,数到第m个⼈出列,然后从出列的下⼀个⼈重新开始报数,数到第m的⼈⼜出列,…,如此重复直到所有的⼈全部出列为⽌。
现要求采⽤循环链表结构设计⼀个算法,模拟此过程。
4、编程实现单链表的就地逆置。
23.在数组 A[1..n]中有n个数据,试建⽴⼀个带有头结点的循环链表,头指针为h,要求链中数据从⼩到⼤排列,重复的数据在链中只保存⼀个.5、设计⼀个尽可能的⾼效算法输出单链表的倒数第K个元素。
3、假设以I和O分别表⽰⼊栈和出栈操作。
栈的初态和终态均为空,⼊栈和出栈的操作序列可表⽰为仅由I和O组成的序列,称可以操作的序列为合法序列,否则称为⾮法序列。
(15分)(1)下⾯所⽰的序列中哪些是合法的?A. IOIIOIOOB. IOOIOIIOC. IIIOIOIOD. IIIOOIOO(2)通过对(1)的分析,写出⼀个算法,判定所给的操作序列是否合法。
若合法,返回true,否则返回false(假定被判定的操作序列已存⼊⼀维数组中)。
5、设从键盘输⼊⼀整数的序列:a1, a2, a3,…,an,试编写算法实现:⽤栈结构存储输⼊的整数,当ai≠-1时,将ai进栈;当ai=-1时,输出栈顶整数并出栈。
算法应对异常情况(⼊栈满等)给出相应的信息。
设有⼀个背包可以放⼊的物品重量为S,现有n件物品,重量分别为W1,W2,...,W n。
数据结构复习题
一单选题 (共20题,总分值60分 )1. 下列叙述中错误的是()。
(3 分)A. 由树的先序遍历序列和后序遍历序列可以惟一确定一棵树B. 二叉树不同于度为2的有序树C. 深度为k的二叉树上最少有k个结点D. 在结点数目相同的二叉树中,最优二叉树的路径长度最短2. 顺序表中数据元素的存取方式为()。
(3 分)A. 随机存取B. 顺序存取C. 索引存取D. 连续存取3. 设有向图G中有五个顶点,各顶点的度分别为3、2、2、1、2,则G中弧数为()。
(3 分)A. 4条B. 5条C. 6条D. 无法确定4. 下列关于文件的说法,错误的是()。
(3 分)A. 选择文件的组织方式时应考虑外存的性质和容量B. 不定长文件指的是总长度可变的文件C. 对文件的操作主要是维护和检索D. 文件的存储结构指的是文件在外存上的组织方式5. ISAM文件和VSAM文件属于()。
(3 分)A. 索引非顺序文件B. 索引顺序文件C. 顺序文件D. 散列文件6. 适用于折半查找的表的存储方式及元素排列要求为()。
(3 分)A. 链接方式存储,元素无序B. 链接方式存储,元素有序C. 顺序方式存储,元素无序D. 顺序方式存储,元素有序7. 在数据结构中,数据的()结构是独立于计算机的。
(3 分)A. 逻辑B. 存储C. 散列D. 索引8. 设串s1='abcdefg',s2='ab',则Concat(s1,s2)的返回值()。
(3 分)A. abB. cdefgC. abcdefgD. abcdefgab9. 若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是()。
(3 分)A. 快速排序B. 堆排序C. 归并排序D. 直接插入排序10. 设在一不带头结点的链队列中,front和rear分别为其队头和队尾指针,则判定该队中只有一个结点的条件是()。
(3 分)A. front->nextB. rear->nextC. front==rearD. front!=rear11. 具有n个顶点的有向强连通图最少有()条弧。
数据结构复习题
一、单项选择题1.评价一个算法时间性能的主要标准是()A.算法易于调试B. 算法易于理解C.算法的稳定性和正确性D.算法的时间复杂度2.可用带表头结点的链表来表示表,也可用不带表头结点的链表来表示表,前者的主要好处是()A.可以加快对表的遍历B.使空表和非空表的处理统一C.提高存取结点的速度D.节省存储空间3.稀疏矩阵一般的压缩存储有两种,即()。
A.一维数组和二维数组B.一维数组和三元组C.二维数组和十字链表D.三元组和十字链表4.链表不具有的特点是()。
A.可随机访问任一元素B.插入删除不需要移动元素C.不必事先估计存储空间D.所需空间与线性表的长度成正比5.非空的循环单链表head的尾结点p满足()。
A.P->next==NULL B.p==NULL C.P->next==head D.P==head 6.对稀疏矩阵进行压缩存储是为了()。
A.便于进行矩阵运算B.便于输入和输出C.节省存储空间D.降低运算的时间复杂度7.数据结构中,与所使用的计算机无关的是数据的()结构。
A.顺序B.物理C.逻辑D.物理和存储8.在长度为n的顺序表中插入一个元素时,等概率情况下的平均移动元素的次数是()。
A.(n-1)/2B.n/2C.n*(n-1)/2D.(n+1)/29.对于一个头指针为H的带头结点的单链表,判定该表为空表的条件是()A. H==NULL B.H!=NULL C.H→next ==H D.H→next==NULL10. 在一个顺序表中,若表的第一个元素的存储地址是210,每一个元素的长度为3,则第5个元素的存储地址是()。
A.219 B.222 C.225 D.22811. 栈S最多能容纳4个元素,现有6个元素按a,b,c,d,e,f的顺序进栈,下面序列()是可能的出栈序列。
A.edcbaf B.bcefad C.cbedaf D.adfebc12.循环队列用数组A[M]存放元素,已知其头尾指针分别为front和rear,则当前队列中的元素个数是()。
数据结构复习题(附答案)
数据结构复习题(附答案)1. 快速排序在最坏情况下的时间复杂度为( D )。
A.O(log2n) B.O(nlog2n) C.O (n) D. O (n2)2.设⼀棵⼆叉树的深度为k,则该⼆叉树中最多有( D )个结点。
A. 2k-1B. 2kC.2k-1D. 2k-13.⼆叉树中第i(i≥1)层上的结点数最多有( C )个。
A. 2iB. 2iC. 2i-1D. 2i-1 4.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为( A )。
A. p->next=p->next->nextB. p=p->nextC. p=p->next->nextD. p->next=p5.设栈S和队列Q的初始状态为空,元素E1、E2、E3、E4、E5和E6依次通过栈S,⼀个元素出栈后即进⼊队列Q,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S的容量⾄少应该是( C )。
A. 6B. 4C. 3D. 26.设有以下四种排序⽅法,则( B )的空间复杂度最⼤。
A. 冒泡排序B. 快速排C. 堆排序D. 希尔排序7.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为( B )。
A. 3B. 4C. 5D. 18.根据⼆叉树的定义可知⼆叉树共有( B )种不同的形态。
A. 4B. 5C. 6D. 79.对⼀个算法的评价,不包括如下( A )⽅⾯的内容。
A.并⾏性 B.健壮性和可读性 C.正确性 D.时空复杂度10.在⼆叉排序树中插⼊⼀个结点的时间复杂度为( C )。
A.O(1) B.O(n) C.O(log2n) D.O(n2)11. 队列是⼀种( B )的线性表。
A.先进后出B.先进先出 C.只能插⼊D.只能删除12.采⽤开放定址法处理散列表的冲突时,其平均查找长度( C )。
A.低于链接法处理冲突 B. 与链接法处理冲突相同C.⾼于链接法处理冲突 D.⾼于⼆分查找13.设有序顺序表中有n个数据元素,则利⽤⼆分查找法查找数据元素X的最多⽐较次数不超过( A )。
数据结构复习题及答案
数据结构复习题及答案数据结构习题一、名词解释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.线性表有两种存储布局,划分为按次存储和链式存储。
数据结构复习题及标准答案
数据结构复习题及标准答案————————————————————————————————作者:————————————————————————————————日期:一、选择题。
(每小题2分,共40分)(1) 计算机识别.存储和加工处理的对象被统称为____A____。
A.数据B.数据元素C.数据结构D.数据类型(2) 数据结构通常是研究数据的____ A _____及它们之间的联系。
A.存储和逻辑结构B.存储和抽象C.理想和抽象D.理想与逻辑(3) 不是数据的逻辑结构是____ A ______。
A.散列结构B.线性结构C.树结构D.图结构(4) 数据结构被形式地定义为<D,R>,其中D是____ B _____的有限集,R是____ C _____的有限集。
A.算法B.数据元素C.数据操作D.逻辑结构(5) 组成数据的基本单位是____ A ______。
A.数据项B.数据类型C.数据元素D.数据变量(6) 设数据结构A=(D,R),其中D={1,2,3,4},R={r},r={<1,2>,<2,3>,<3,4>,<4,1>},则数据结构A是____ A ______。
A.线性结构B.树型结构C.图型结构D.集合(7) 数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为___ C ____。
A.存储结构B.逻辑结构C.顺序存储结构D.链式存储结构(8) 在数据结构的讨论中把数据结构从逻辑上分为___ A ____。
A.内部结构与外部结构B.静态结构与动态结构C.线性结构与非线性结构D.紧凑结构与非紧凑结构(9) 对一个算法的评价,不包括如下____ B _____方面的内容。
A.健壮性和可读性B.并行性C.正确性D.时空复杂度(10) 算法分析的两个方面是__ A ____。
A.空间复杂性和时间复杂性B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性(11) 线性表是具有n个___ C _____的有限序列(n≠0)。
数据结构经典复习题(仅供参考)
一、选择题(20分)1.下面关于线性表的叙述错误的是(D )。
(A) 线性表采用顺序存储必须占用一片连续的存储空间(B) 线性表采用链式存储不必占用一片连续的存储空间(C) 线性表采用链式存储便于插入和删除操作的实现(D) 线性表采用顺序存储便于插入和删除操作的实现2.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为(A )。
(A) BADC (B) BCDA (C) CDAB (D) CBDA3.设某棵二叉树中有2000个结点,则该二叉树的最小高度为( C )。
(A) 9 (B) 10 (C) 11 (D) 124.设二叉排序树中有n个结点,则在二叉排序树的平均平均查找长度为( B )。
(A) O(1) (B) O(log2n) (C) (D) O(n2)5.设有5000个待排序的记录关键字,如果需要用最快的方法选出其中最小的10个记录关键字,则用下列( B )方法可以达到此目的。
(A) 快速排序(B) 堆排序(C) 归并排序(D) 插入排序第9小题分析:9快速排序、归并排序和插入排序必须等到整个排序结束后才能够求出最小的10个数,而堆排序只需要在初始堆的基础上再进行10次筛选即可,每次筛选的时间复杂度为O(log2n)。
6.下列四种排序中( D )的空间复杂度最大。
(A) 插入排序(B) 冒泡排序(C) 堆排序(D) 归并排序7.设一维数组中有n个数组元素,则读取第i个数组元素的平均时间复杂度为(C )。
(A) O(n) (B) O(nlog2n) (C) O(1) (D) O(n2)8.设一棵二叉树的深度为k,则该二叉树中最多有(D )个结点。
(A) 2k-1 (B) 2k(C) 2k-1(D) 2k-19.在二叉排序树中插入一个结点的时间复杂度为(B )。
(A) O(1) (B) O(n) (C) O(log2n) (D) O(n2)10.设用链表作为栈的存储结构则退栈操作( B )。
《数据结构》复习题
数据结构复习题一、单项选择题1.数据结构在计算机中的表示称为数据的()。
A)存储结构B)抽象结构C)顺序结构D)逻辑结构2.对于下面程序段的时间复杂度为()。
for(i=1;i<=n;i++)for(j=1;j<=i;j++)x=x+1;A)O(n) B)O(n2) C)O(n*i) D)O(n+i)9.数据类型为()。
A)数据项的集合B)值的集合及定义在其上的一组操作的总称C)数据元素的集合D)关键字的集合10.网状结构的特征是()。
A)结D)正确性、可读性、健壮性及确定性12.在下列序列中,不是线性表的是()。
A)('a','b','c') B)('AB','CD') C)('a',true,'c') D)(a,b,c,d)13.线性链表中各链结点之间的地址()。
A)必须连续B)部分地址必须连续C)不一定连续D)连续与否无所谓14.如某链表中最常用的操作是在最后一个结点后插入一个结点和删除最后一个结点,则()存储方式最节省运行时间。
A)单链表B)带头结点的单链表C)单循环链表D)带头结点的双循环链表15.在非空线性链表中由p所指的链结点后面插入一个由q所指的链结点的过程是依次执行动作()。
A)q->next=p;p->next=q; B)q->next=p->next;p->next=qC)q->next=p->next;p=q; D)p->next=q;q->next=p;16.线性表的顺序存储结构具有的特点是()。
A)可直接随机访问任一元素B)插入删除不需要移动元素C)不必26.从一个具有头结点的单链表中查找数据元素值为x的结点时,在查找成功的情况下,平均比较次数是()。
A)n B)n/2 C)(n-1)/2 D)(n+1)/227.对于长度为n的顺序线性表进行删除元素操作,如删除每个元素的概率相同,则删除一个元素移动元素的平均次数是()。
数据结构复习题
第1章 绪论一、填空题(每空1分,共35分)1、数据结构是一门研究非数值计算的程序设计问题中计算机的 以及它们之间的 和 等的学科。
2、数据结构被形式地定义为(D, R ),其中D 是 的有限集合,R 是D 上的 有限集合。
3、数据结构按逻辑结构可分为两大类,它们分别是 和 。
若细分为4类,分别是 、 、 和 。
4、线性结构中元素之间存在 关系,树形结构中元素之间存在 关系,图形结构中元素之间存在 关系。
5、在线性结构中,第一个结点 前驱结点,其余每个结点有且只有 个前驱结点;最后一个结点 后继结点,其余每个结点有且只有 个后继结点。
6、在树形结构中,树根结点没有 结点,其余每个结点有且只有 个前驱结点;叶子结点没有后继结点,其余每个结点的后继结点数可以任意。
7、在图形结构中,每个结点的前驱结点数和后继结点数可以 。
8、数据结构包括数据的 、数据的 和数据的 这三个方面的内容。
9、数据的存储结构可用四种基本的存储方法表示,它们分别是 、 、 和 。
10、数据的运算最常用的有5种,它们分别是 、 、 、 、 。
11、一个算法的效率可分为 效率和 效率。
二、选择题(每小题1分,共5分)1、数据结构中,与所使用的计算机无关的是数据的( )结构。
A 、存储B 、物理C 、逻辑D 、物理和存储2、数据结构是指( )。
A 、数据元素的组织形式B 、数据类型C 、数据存储结构D 、数据定义3、算法分析的目的是( )。
A 、找出数据结构的合理性B 、研究算法中的输入和输出的关系C 、分析算法的效率以求改进D 、分析算法的易懂性和文档性4、算法分析的两个主要方面是:( )。
A 、空间复杂性和时间复杂性B 、正确性和简明性C 、可读性和文档性D 、数据复杂性和程序复杂性5、计算机算法指的是( )。
A 、计算方法B 、排序方法C 、解决问题的有限运算序列D 、调度方法6.某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示( )。
数据结构复习题
数据结构复习题《数据结构》复习资料⼀、单项选择题1. 若需要利⽤形参直接访问实参,则应把形参变量说明为( B )参数。
A. 指针B. 引⽤C. 传值D. 常值2. 以下说法错误的是(C )。
A. 抽象数据类型具有封装性。
B. 抽象数据类型具有信息隐蔽性。
C. 使⽤抽象数据类型的⽤户可以⾃⼰定义对抽象数据类型中数据的各种操作。
D. 抽象数据类型的⼀个特点是使⽤与实现分离。
3. 设有⼀个n n的对称矩阵A,将其上三⾓部分按⾏存放在⼀个⼀维数组B中,A[0][0]存放于B[0]中,那么第i⾏的对⾓元素A[i][i]存放于B中(C)处。
A. (i+3)*i/2B. (i+1)*i/2C. (2n-i+1)*i/2D. (2n-i-1)*i/24. 已知单链表A长度为m,单链表B长度为n,若将B联接在A的末尾,其时间复杂度应为( C )。
A. O(1)B. O(m)C. O(n)D. O(m+n)5. 假定⼀个链式队列的队头和队尾指针分别为front和rear,则判断队空的条件为( D)。
A. front == rearB. front != NULLC. rear != NULLD. front == NULL6. 设有⼀个递归算法如下int fact(int n) { //n⼤于等于0if(n<=0) return 1;else return n*fact(n-1);}则计算fact(n)需要调⽤该函数的次数为( B )次。
A.n B.n+1 C.n+2 D.n-17. 在⼀棵⾼度为h(假定树根结点的层号为0)的完全⼆叉树中,所含结点个数不⼩于( D )。
A. 2h-1B. 2h+1C. 2h-1D. 2h8. ⼀棵树的⼴义表表⽰为a(b,c(e,f(g)),d),当⽤左⼦⼥-右兄弟链表表⽰时,右指针域⾮空的结点个数为( C )。
A 1B 2C 3D 49. 向具有n个结点的、结构均衡的⼆叉搜索树中插⼊⼀个元素的时间复杂度⼤致为( B)。
《数据结构》复习题
《数据结构》复习题一、填空题1.数据结构中评价算法的两个重要指标是和。
2.数据元素之间有多种关系,其中常见的关系有、、、。
3.线性表的顺序存储是用实现的。
4.在长度为n的顺序表中插入一个元素,等概率的情况下的平均移动元素的次数是。
5.三个结点可构成种不同形态的二叉树。
6.对于栈只能在 (位置)插入和删除元素。
7.对矩阵压缩是为了。
8.深度为k的完全二叉树至少有个结点,至多有个结点。
9.对于一棵具有n个结点的二叉树,当进行链接存储时,其二叉链表中的指针域的总数为个,其中个用于链接孩子结点。
10.对二叉排序树进行遍历,可得到排好序的递增结点序列。
11.N个顶点的连通图的生成树含有条边。
12.己知有序表为(12,18,24,35,47,50,62,83,90,115,134)当用二分法查找90时,需次查找成功,47时成功,查100时,需次才能确定不成功。
13.算法的计算量的大小称为计算的____14.在线性表的顺序存储中,元素之间的逻辑关系是通过__ __决定的;在线性表的链接存储中,元素之间的逻辑关系是通过____决定的。
15.对于一个具有N个结点的单链表,在已知的结点*P后插入一个新结点的时间复杂度为____,在给定值为X的结点后插入一个新结点的时间复杂度为____.16.无论对于顺序存储还是链接存储的队列来说,进行插入或删除运算的时间复杂度均相同为____.17.对于一棵具有n个结点的树,该树中所有结点的度数之和为____18.在一个完全二叉树的顺序存储中,若一个结点的下标为i,则它的左子女结点的下标为____,右子女结点的下标为____.19.对于一棵具有n个结点的二叉树,对应二叉链表中指针总数为____个,其中____个用于指向子女结点,____个指针空闲着20.以折半搜索方法搜索一个线性表时,此线性表必须是____存储的____表21.在一个无向图中,所有顶点的度数之和等于所有边数的____倍。
数据结构-复习题-答案
数据结构-复习题-答案一、选择题1. 数据结构是指()。
A. 一组数据的存储结构B. 一组数据的算法C. 一组数据的完整性D. 一组数据的遍历方式答案:A2. 数组是一种()数据结构。
A. 线性B. 非线性C. 树形D. 图形答案:A3. 链表是一种()数据结构。
A. 线性B. 非线性D. 图形答案:A4. 栈是一种()数据结构。
A. 线性B. 非线性C. 树形D. 图形答案:A5. 队列是一种()数据结构。
A. 线性B. 非线性C. 树形D. 图形答案:A6. 树是一种()数据结构。
A. 线性C. 树形D. 图形答案:B7. 图是一种()数据结构。
A. 线性B. 非线性C. 树形D. 图形答案:D8. 哈希表是一种()数据结构。
A. 线性B. 非线性C. 树形D. 图形答案:A9. 排序算法中,选择排序的时间复杂度是()。
B. O(logn)C. O(n)D. O(n^2)答案:D10. 排序算法中,快速排序的时间复杂度是()。
A. O(1)B. O(logn)C. O(n)D. O(n^2)答案:D二、填空题1. 在数组中,下标表示()。
答案:元素在数组中的位置2. 链表的结构中,节点包含()。
答案:数据元素和指向下一个节点的指针3. 树的根节点位于()。
答案:最顶层4. 图的节点间的关系可以用()表示。
答案:边5. 哈希表通过()进行快速的数据查找。
答案:哈希函数三、简答题1. 数据结构是什么,它的作用是什么?答:数据结构是一种组织和存储数据的方式,它的作用是使数据能够高效地进行操作和处理。
通过选择合适的数据结构,我们可以提高算法的效率,减少资源的浪费。
2. 数组和链表的区别是什么?答:数组是一种连续存储的数据结构,它的元素在内存中占用连续的空间。
链表则是一种离散存储的数据结构,它的元素在内存中可以分布在任意的位置。
数组的插入和删除操作比较耗时,而链表则可以快速进行插入和删除操作。
3. 栈和队列的特点及各自的应用场景是什么?答:栈是一种后进先出(LIFO)的数据结构,常用于实现递归调用、表达式求值等场景。
数据结构复习资料(题目和参考答案)
数据结构复习题及参考答案(抽考其中50%)一、单选题(每小题1分)1.下列程序段的时间复杂度为(A )。
for(i=0; i<m ; i++)for(j=0; j<t ; j++) c[i][j]=0;for(i=0; i<m ; i++)for(j=0; j<t ; j++)for(k=0; k<n ; k++)c[i][j]=c[i][j]+a[i][k]*b[k][j];(A) O(m*n*t) (B) O(m+n+t) (C) O(m+n*t) (D) O(m*t+n)2.下列程序段的时间复杂度为(A )。
i=0,s=0;while (s<n) {s=s+i ;i++;}(A) O(n 1/2) (B) O(n 1/3) (C) O(n) (D) O(n 2)3.设顺序表中有n 个数据元素,则删除表中第i 个元素需要移动(A )个元素。
(A) n-i (B) n+l-i (C) n-1-i (D) i4.设某链表中最常用的操作是在链表的尾部插入或删除元素,则选用下列(D )存储方式最节省运算时间。
(A) 单向链表 (B) 单向循环链表(C) 双向链表 (D) 双向循环链表5.设F 是由1T 、2T 和3T 三棵树组成的森林,与F 对应的二叉树为B ,1T 、2T 和3T 的结点数分别为1n 、2n 和3n ,则二叉树B 的根结点的左子树的结点数为(A )。
(A) 11n - (B) 21n - (C) 23n n + (D) 13n n +6.设指针q 指向单链表中结点A ,指针p 指向单链表中结点A 的后继结点B ,指针s 指向被插入的结点X ,则在结点A 和结点B 插入结点X 的操作序列为(B )。
(A) s->next=p->next ;p->next=-s ; (B) q->next=s ; s->next=p ;(C) p->next=s->next ;s->next=p ; (D) p->next=s ;s->next=q ;7.利用直接插入排序法的思想建立一个有序线性表的时间复杂度为(C )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
26.数组元素之间的关系, 。 A是线性的 B是树形的 C既是线性的又是树形的 线性的又不是树形的 27.树最适合用来表示 C。 A.有序数据元素 B.无序数据元素 C.元素之间具有分支层次关系的数据 D.元素这间无联系的数据
D既不是
28.如果T2是由有序树T1转换而来的二叉树,那么T1中结点的 先序就是T2中结点的 A 。 A.先序 B.中序 C.后序 D.层次序 29、具有6个顶点的无向图至少应该有A条边才能确保是一个 连通图。 A 5 B6 C 7 D 8 30、采用邻接表存储的图的深度优先遍历类似于二叉树的A。 A 先序遍历 B中序遍历 C后序遍历 D 按层遍历 31、采用邻接表存储的图的广度优先遍历类似于二叉树的D。 A 先序遍历 B中序遍历 C后序遍历 D 按层遍历 32、顺序查找法适合于存储结构为B的线性表。 A.散列存储 B。顺序存储或链式存储 C。压缩存储 D。索 引存储 33、对线性表进行折半查找时,要求线性表必须C。 A.顺序存储 B。以链接方式存储 C。以顺序存储,并且结 点按关键字有序排列。 D.以链接方式存储,并且结点按关键字有序排列。 34、二叉树为二叉排序树的充分必要条件是其中任一结点的值 大于其左儿子的值,小于其右儿子的值,这种说法B。 A.正确 B。不正确 35.算法分析的目的是 ① ,算法分析的两个主要方面是 ② 。 ①A找出数据结构的合理性 B研究算法中的输入和输出的关系 C分析算法的效率以求改进 D分析算法的易懂性和文档性 ②A空间复杂度和时间复杂度 B正确性和简明性 C可读性与文 挡性 D数据复杂性和程序复杂性 36.与单链表相比,双链表的优点之一是 。 A插入、删除操作更简单 B可以进行随机访问 C可以省略表
48. 某算法的时间复杂度为O(n2),表明该算法的 C 。 A.问题规模是n2 B.执行时间等于n2 C.执行时间与n2成正比 D.问题规模与n2成正比 4. 通常在单链表中增加一个头节点,其目的是为了 C 。 A.使单链表至少有一个节点 B.标识表节点中首节点的位置 C.方便单链表运算的实现 D.说明单链表是线性表的链式存 储 49. 删除某个双链表中的一个节点(非首、尾节点),需要修改 B 个 指针域。 A.1 B.2 C.3 D.4 50. 栈和队列是两种不同的数据结构,但它们中的元素具有相同的 B 。 A.抽象数据类型 B.逻辑结构 C.存储结构 D.运算 51. 元素a、b、c、d、e依次进入初始为空的栈中,若元素进栈后可 停留、可出栈,直到所有的元素都出栈,则所有可能的出栈序列中,以 元素d开头的序列有哪些 ? 52. 设环形队列中数组的下标是0~N-1,其头尾指针分别为f和r(f指向 队列中队头元素的前一个位置,r指向队尾元素的位置),则其元素个 数为 D 。 A.r-f B.r-f-1 C.(r-f)%N+1 D.(r-f+N)%N 53. 已知循环队列存储在一维数组A[0..n-1]中,且队列非空时front和rear 分别指向队头元素和队尾元素。若初始时队列空,且要求第一个进入队 列的元素存储在A[0]处,则初始时front和rear的值分别是 B 。 A.0,0 B.0,n-1 C.n-1,0 D.n-1,n-1 54. 对于n阶(n≥2)对称矩阵,采用压缩方法以行序优先存放到内存 中,则需要 A 个存储单元。 A.n(n+1)/2 B.n(n-1)/2 C.n2 D.n2/2 55. 一棵度为4的树T中,若有18个度为4的节点,10个度为3的节点,1个 度为2的节点,9个度为1的节点,则树T的叶子节点个数是 。 56. 一个具有n(n≥2)个顶点的无向图,至少有 ① B 个连通分量, 最多有 ② D 个连通分量。 A.0 B.1 C.n-1 D.n 57. 含有n(n≥2)个顶点的无向图的邻接矩阵必然是一个 A 。 A.对称矩阵 B.零矩阵 C.上三角矩阵 D.对角矩阵 58. 设有98个元素的有序顺序表,用折半查找时,成功时最大的比较 次数是 。 59. 已知一个长度为16的顺序表,其元素按关键字有序排序,若采用 折半查找法查找一个不存在的元素,则平均关键字比较的次数是 A 。 A.70/17 B.70/16 C.60/17 D.60/16 60. 以下关于m阶B-树的叙述中正确的是 C 。
Ⅰ.增大装填(载)因子 Ⅱ.设计冲突(碰撞)少的散列函数 Ⅲ.处理冲突(碰撞)时避免产生聚集(堆积)现象 A.仅Ⅰ B.仅Ⅱ C.仅Ⅰ、 Ⅱ D.仅Ⅱ、Ⅲ 62. 数据序列{15,16,17,4,5,6,20,1,2}只能是 C 的两趟排序后的结 果。 A.简单选择排序 B.冒泡排序 C.直接插入排序 D.堆排序 63. 用某种排序方法对顺序表{22,78,21,58,15,27,69,35,19}进行排序, 各趟元素序列的变化情况如下: (1){22,78,21,58,15,27,69,35, 19} (2){19,15,21,22,58,27,69,35,78} (3){15, 19,21,22,35,27,58,69,78} (4){15, 19,21,22,27,35,58,69,78} 则所采用的排序方法是 B 。 A. 简单选择排序 B.快速排序 C.直接插入排序 D.归并排 序 64. 若线性表最常用的运算是存取第i个元素及其前趋元素的值,则采 用 D 存储方式节省时间。 A.单链表 B.双链表 C.单循环链表 D.顺序表 65. 在一个具有n个结点的有序单链表中插入一个新结点使得仍然有 序,其算法的时间复杂度为 D 。 A.O(log2n) B.O(1) C.O(n2) D.O(n) 66. 一个n×n的对称矩阵A,如果采用以列优先(即以列序为主序)的 压缩方式存放到一个一维数组B中,则B的容量为 C 。 A. n2 B. C. D. 67. 若一棵3次树中有a个度为1的节点,b个度为2的节点,c个度为3 的节点,则该树中有 D 个叶子节点。 A.1+2b+3c B.a+2b+3c C.2b+3c D.1+b+2c 68. 一棵完全二叉树中有401个叶子节点,则至少有 个节点。 69. 在含有n个结点的线索二叉树中,线索的数目为 C 。 A.n-1 B.n C.n+1列和后序列正好相反,则该二叉树 一定是 D 。 A.空或只有一个结点 B.完全二叉树 C.二叉排序树 D.高度等于其结点数 13.在一个图中,所有顶点的度数之和等于所有边数的C 倍。 A 1/2 B 1 C 2 D 4 14.在一个有向图中,所有顶点的入度之和等于所有顶点的出 度之和的B倍。 A 1/2 B 1 C 2 D 4 17、一个有n个顶点的无向图最多有C条边。 A n B n(n-1) C n(n-1)/2 D 2n 15、具有4个顶点的无向完全图有A条边。 A 6 B 12 C 16 D 20 16、采用邻接表存储的图的深度优先遍历类似于二叉树的A。 A 先序遍历 B中序遍历 C后序遍历 D 按层遍历 17、采用邻接表存储的图的广度优先遍历类似于二叉树的D。
。
A.每个节点至少有两棵非空子树 B.树中每个节点至多有m/2-1个关键字 C.所有叶子节点均在同一层上 D.当插入一个关键字引起B-树节点分裂时,树增高一层 61. 为提高散列(哈希)表的查找效率,可以采取的正确措施是 D
头指针和表尾指针 D顺序访问相邻结点更灵活。 37.一个队列的入队序列是1,2,3,4,则队列的输出序列是 。 A.4,3,2,1 B。1,2,3,4 C。1,4,3,2 D。3,2,4,1 38. 是 “abcd321ABCD”的子串。 A.abcd B.321AB C.”abcABC” D.”21AB” 39.一个n*n的对称矩阵,如果以行序或列序放入内存,则容 量为 。 A.n*n B.n*n/2 C.n*(n-1)/2 D(n+1)*(n+1)/2 40.二叉树按某种顺序线索化后,任一结点均有指向其前驱和 后续的线索,这种说法 B 。 A.正确 B.错误 41.深度为15的二叉树至多有 个结点。 42、一个有19个顶点的无向图最多有 条边。 43、具有n个顶点的无向图至少应该有c条边才能确保是一个连 通图。 A n B n+1 C n-1 D n/2 44、顺序查找法适合于存储结构为B的线性表。 A.散列存储 B。顺序存储或链式存储 C。压缩存储 D。索 引存储 45、对线性表进行折半查找时,要求线性表必须C。 A.顺序存储 B。以链接方式存储 C。以顺序存储,并且结 点按关键字有序排列。 D.以链接方式存储,并且结点按关键字有序排列。
C. t->ltag==1且t->left==NULL D.以上都不对 10.设高度为h 的二叉树上只有度为0和度为2 的结点, 则 此类二叉树中所包含的结点数至少为 B 。 A.2h B. 2h-1 C. 2h+1 D.h+1 11.如图所示二叉树的中序遍历序列是 B 。 A.abcdger B. dfebagc C.dbaefcg D. defbagc
一、选择题 1.数据结构被形式地定义为(K,R),其中K是 ① 的有 限集合,R是K上的 ② 有限集合。 ①A.算法 B数据元素 C数据操作 D逻辑结构 ②A操作 B映象 C存储 D关系 2.链表不具备的特点是 。 A可随机访问任一结点 B插入删除不需要移动元素 C不必事 先估计存储空间 D所需空间与其长度成正比 3.若某表最常用的操作是在最后一个结点之间插入一个结点 或删除最后一个结点,则采用 存储方式最节省运算时 间。 A单链表 B给出表头指针的单循环链表 C双链表 D带头结点 的双循环链表 4.栈的特点是 ① ,队列的特点是 ② 。 A先进先出 B先进后出 5.一个栈的进栈序列是A,B,C,D,E,则栈的不可能的输出 序列是 。 A.EDCBA B。DECBA C。DCEAB D。ABCDE 6.串是一种特殊的线性表,其特殊性体现在 。 A可以顺序存储 B数据元素是一个字符 C可以链接存储 D数 据元素可以是多个字符 7.一维数组和线性表的区别是 。 A前者长度固定,后者长度可变 B后者长度固定,前者长度 可变 C两者长度均固定 D两者长度均可变 8.稀疏矩阵一般的压缩存储方法有两种,即 C 。 A.二维数组和三维数组 B。三元组和散列 C。三元组和十 字链表 D。散列和十字链表 9.在线索化二叉树中,t所指结点没有左子树的充要条件是 B 。 A.t->left==NULL B. t->ltag==1