数据结构判断题题库
- 格式:doc
- 大小:31.00 KB
- 文档页数:3
栈1设有三个元素X,Y,Z顺序进栈(进的过程中允许出栈),下列得不到的出栈排列是()。
•A、XYZ•B、YZX•C、ZXY•D、ZYX正确答案:C 我的答案:C 得分:14.2分2向一个栈顶指针为hs的链栈中插入一个s结点时,应执行()。
•A、hs->next=s;•B、s->next=hs; hs=s;•C、s->next=hs->next; hs->next=s;•D、s->next=hs; hs=hs->next;正确答案:B 我的答案:B 得分:14.2分3栈在()中应用。
•A、递归调用•B、子程序调用•C、表达式求值•D、A,B,C正确答案:A 我的答案:D 得分:0.0分4栈的操作原则是()。
•A、先进先出•B、后进先出•C、先进后出•D、不分顺序正确答案:B 我的答案:B 得分:14.2分5一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是()。
•A、不确定•B、n-i+1•C、i•D、n-i正确答案:B 我的答案:B 得分:14.2分6链栈与顺序栈相比,有一个比较明显的优点,即()•A、插入操作方便•B、通常不会出现栈满的情况•C、不会出现栈空的情况•D、删除操作更方便正确答案:B 我的答案:D 得分:0.0分二.简答题(共1题,14.8分)1假定有四个元素A,B,C,D依次进栈,进栈过程中允许出栈,试写出所有可能的出栈序列。
正确答案:共有14中可能的出栈序列","分别为: ABCD","ABDC","ACBD"," ACDB","BACD","ADCB","BADC","BCAD"," BCDA","BDCA","CBAD"," CBDA","CDBA"," DCBA。
数据结构相关题库及答案第三章栈和队列一、判断题:1、栈和队列都是限制存取点的线性结构(易)2、栈和队列是两种重要的线性结构。
(易)3、带头结点的单链表形式的队列,头指针F指向队列的头结点,尾指针R指向队列的最后一个结点(易)4、在对不带头结点的链队列作出队操作时,不会改变头指针的值。
(易)答案:1-4 √√××二、选择题:1、一个栈的入栈序列a,b,c,d,e,则栈的不可能的输出序列是C____。
A、 edcba B、 decbaC、 dceabD、 abcde2、若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为_C___。
A、 iB、 n=iC、 n-i+1D、不确定3、栈结构通常采用的两种存储结构是_A___。
A、顺序存储结构和链式存储结构B、散列方式和索引方式C、链表存储结构和数组D、线性存储结构和非线性存储结构4、判定一个顺序栈ST(最多元素为m0)为空的条件是_B___。
A、top !=0B、top= =0C、top !=m0D、top= =m0-15、判定一个顺序栈ST(最多元素为m0)为栈满的条件是D。
A、top!=0 B、top= =0 C、top!=m0 D、top= =m0-16、队列操作的原则是( A ) A、先进先出 B、后进先出 C、只能进行插入 D、只能进行删除7、向一个栈顶指针为HS的链栈中插入一个s所指结点时,则执行__ _C_。
(不带空的头结点) (易)A、HS—>next=s;9B、s—>next= HS—>next; HS—>next=s;C、s—>next= HS; HS=s;D、s—>next= HS; HS= HS—>next8、从一个栈顶指针为HS的链栈中删除一个结点时,用x保存被删结点的值,则执行__ _B_。
(不带空的头结点) (中)A、x=HS; HS= HS—>next;B、x=HS—>data;C、HS= HS—>next; x=HS—>data;D、x=HS—>data; HS= HS—>next;9、一个队列的数据入列序列是1,2,3,4,则队列的出队时输出序列是___C_ 。
《数据结构》习题库之三:判断题1. 程序就是算法,但算法不一定是程序。
()2. 线性表只能采用顺序存储结构或者链式存储结构。
()3. 线性表的链式存储结构是通过指针来间接反映数据元素之间逻辑关系的。
()4. 除插入和删除操作外,数组的主要操作还有存取、修改、检索和排序等。
()5. 稀疏矩阵中0元素的分布有规律,因此可以采用三元组方法进行压缩存储。
()6. 不管堆栈采用何种存储结构,只要堆栈不空,可以任意删除一个元素。
()7. 确定串T在串S中首次出现的位置的操作称为串的模式匹配。
()8. 深度为h的非空二叉树的第i层最多有2i-1 个结点。
()9. 满二叉树就是完全二叉树。
()10. 已知一棵二叉树的前序序列和后序序列可以唯一地构造出该二叉树。
()11. 非空二叉排序树的任意一棵子树也是二叉排序树。
()12. 对一棵二叉排序树进行前序遍历一定可以得到一个按值有序的序列。
()13. 若有向图G=(V,E)的拓扑序列不唯一,则图中必须有两条弧和。
()14. 散列表的查找效率主要取决于所选择的散列函数与处理冲突的方法。
()15. 序列初始为逆序时,泡排序法所进行的元素之间的比较次数最多。
()16. 算法一定要有输入和输出。
()17. 算法分析的目的旨在分析算法的效率以求改进算法。
()18. 非空线性表中任意一个数据元素都有且仅有一个直接后继元素。
()19. 数据的存储结构不仅有顺序存储结构和链式存储结构,还有索引结构与散列结构。
()20. 线性链表中各个链结点之间的地址不一定要连续。
()21. 若频繁地对线性表进行插入和删除操作,该线性表采用顺序存储结构更合适。
()22. 若线性表采用顺序存储结构,每个数据元素占用4个存储单元,第12个数据元素的存储地址为144,则第1个数据元素的存储地址是101。
()23. 若长度为n的线性表采用顺序存储结构,删除表的第i个元素之前需要移动表中n-i+1个元素。
()24. 符号link(p)出现在表达式中表示p所指的那个结点的内容。
数据结构判断题数据结构是计算机科学中非常重要的一个概念,它是指在计算机中存储和组织数据的方式。
数据结构判断题是一种常见的测试形式,用于检验对数据结构概念和原理的理解和掌握程度。
以下是一些常见的数据结构判断题及其解答,供参考。
1. 数组是一种线性数据结构。
答案:正确。
解析:数组是一种连续存储数据的数据结构,可以通过索引访问元素,具有固定大小。
2. 栈是一种先进后出(FILO)的数据结构。
答案:正确。
解析:栈是一种限制插入和删除操作只能在同一端进行的线性数据结构,最后插入的元素最先被删除。
3. 队列是一种先进先出(FIFO)的数据结构。
答案:正确。
解析:队列是一种限制插入操作在一端进行,删除操作在另一端进行的线性数据结构,最先插入的元素最先被删除。
4. 链表可以实现快速的随机访问。
答案:错误。
解析:链表中的元素不是连续存储的,只能通过遍历来访问指定位置的元素,因此访问效率较低。
5. 树是一种非线性数据结构。
答案:正确。
解析:树是由节点和边组成的,每个节点可以有多个子节点,形成分层结构,不具有线性的顺序关系。
6. 堆是一种有序的数据结构。
答案:错误。
解析:堆是一种特殊的树形数据结构,具有堆序性质,但并不是完全有序的。
7. 图是一种可以用邻接矩阵或邻接表表示的数据结构。
答案:正确。
解析:图是由节点和边组成的,可以用邻接矩阵或邻接表来表示节点之间的关系。
8. 哈希表是一种基于散列函数快速访问的数据结构。
答案:正确。
解析:哈希表通过散列函数将关键字映射到存储位置,可以实现快速的插入、删除和查找操作。
9. 树和图是两种相同的数据结构。
答案:错误。
解析:树是一种特殊的图,图可以包含环和多个连通分量,而树不可以。
10. AVL树是一种自平衡的二叉搜索树。
答案:正确。
解析:AVL树是一种平衡二叉搜索树,它的左子树和右子树的高度差不超过1,可以保证插入和删除操作的时间复杂度为O(logn)。
以上是一些常见的数据结构判断题及其解答。
数据结构期中期末选择判断复习题判断题:U1-U31.(×)数据元素是数据的最小单位。
2.(√)健壮的算法不会因非法的输入数据而出现莫名其妙的状态。
3.(×)数据的逻辑结构是指数据的各数据项之间的逻辑关系。
4.(×)数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的存储结构。
5.(×)数据的物理结构是指数据在计算机内的实际存储形式。
6.(×)数据结构的抽象操作的定义与具体实现有关。
7.(×)顺序存储方式的优点是存储密度大,且插入,删除运算效率高。
8.(√)顺序存储方式插入和删除时的效率太低,在这方面它不如链式存储方式好。
9.(√)顺序存储结构的主要缺点是不利于插入和删除操作。
10.(×)对任何数据结构链式存储结构一定优于顺序存储结构。
11.(×)取线性表的第i个元素的时间同i的大小有关。
12.(√)线性表、栈和队列都是线性结构。
13.(√)链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高。
14.(×)线性表中每一个元素均存在唯一一个前驱和唯一一个后继。
15.(×)循环链表不是线性表。
16.(×)线性表的长度是线性表所占用的存储空间的大小。
17.(×)在单链表表示的线性表中,取线性表的第i个元素操作的时间复杂度为O(1)。
18.(√)删除带头结点单链表的第一个元素结点的时间复杂度是O(1)。
19.(√)栈是实现过程和函数等子程序所必需的结构。
20.(√)栈是一种插入与删除操作都限定在表的一端进行的线性表。
21.(√)若输入序列为1,2,3,4,5,6,则通过一个栈可以输出序列3,2,5,6,4,1。
22.(×)在顺序存储结构表示的栈中删除一个元素时可能会引起栈内数据元素的移动。
23.(√)栈既可以采用顺序存储结构表示也可以采用链式存储结构表示。
第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) 的算法在时间上总是优于复杂度nO(2 ) 的算法(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:=1TOn DOFOR j:=1TOn DOx:=x+1;A. O(2n)B. O(n)C. O(n2)D. O(logn 2 )12.程序段FOR i:=n-1DOWNTO1DOFOR 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(n 3)D. O(n 2)【南京理工大学 1998 一、 1(2 分 ) 】13.以下哪个数据结构不是多型数据类型()【中山大学1999一、 3( 1 分)】A.栈B.广义表C.有向图D.字符串14.以下数据结构中,()是非线性数据结构【中山大学1999一、 4】A.树B.字符串C.队D.栈15.下列数据中,()是非线性数据结构。
数据结构复习题:一、判断题1、()采用循环链表作为存储结构的队列就是循环队列。
2、()哈夫曼树一定是完全二叉树。
3、()选择排序是一种稳定的排序方法。
4、()在顺序存储结构的线性表中,取第i个元素操作的时间复杂度为O(1)。
5、()有向图中第i个顶点的出度等于其邻接矩阵中第i行非0元素的个数。
6、()在按值有序的线性链表中可以采用折半查找法进行查找。
7、()只有在初始数据为逆序时,冒泡排序所执行的比较次数最多。
8、()在具有n个结点的完全二叉树中,无法确定其叶子结点的个数。
9、()一棵树转换成二叉树后,该二叉树的根结点一定没有右子树。
10、()对任意一个图,从它的某个顶点出发进行一次深度或广度优先搜索遍历时,均可访问到该图的每个结点。
11、()二叉树的存储结构必须采用二叉链表结构。
12、()给定一组关键字序列,按顺序构造二叉排序树,其树的形态与关键字的排列顺序无关。
13、()当初始序列为逆序时,简单选择排序的比较次数达到最多。
14、()在单链表表示的线性表中,取线性表第i个元素操作的时间复杂度为O(n)(n为链表长度)。
15、()具有n结点的二叉树,其最大深度为n。
16、()在具有13个叶子结点的二叉树中,其度为2的结点个数一定为12。
17、()具有n个顶点无向图,其生成树中一定存在n-1条边。
18、()能采用折半查找法进行查找的查找表必须是有序并为顺序存储。
19、()若一棵二叉树中不存在度为1的结点,则该二叉树一定是一棵完全二叉树。
20、()快速排序是目前所有排序方法中效率最高的稳定排序。
二、选择填空1、下列排序方法中,排序所花时间不受数据初始排列特性影响的算法是____。
A)冒泡排序B)简单选择排序C)快速排序D)直接插入排序2、在一棵度为3的树中,度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,那么度为0的结点数为____个。
A)4 B)5 C)6 D)73、对于给定的8个元素:34,76,45,18,26,54,92,65,按给定顺序生成一棵二叉排序树,该树的深度为____。
三、判断题:1.数据是计算机加工处理的对象(T )。
2.数据结构的概念包括数据的逻辑结构、数据在计算机中的存储方式和数据的运算三个方面( T )。
3.线性表是由n≥0个相同类型组成的有限序列(T )。
4.栈是一种后进先出的线性表(T )。
5.从循环链表的某一结点出发,只能找到它的后继结点,不能找到它的前驱结点( F )。
6.单链表设置头结点的目的是为了简化运算(T )。
7.树的最大特点是一对多的层次结构(T )。
8.组成数据的基本单位称为数据元素(T )。
9.从非循环链表的某一结点出发,既能找到它的后继结点,又能找到它的前驱结点(F )。
10.单链表结点的指针域是用来存放其直接后继结点的首地址的(T )1.数据的存储结构是数据的逻辑结构的存储映象(T )。
2.用顺序表来存储线性表时,不需要另外开辟空间来保存数据元素之间的相互关系(T )。
3.在非线性结构中,至少存在一个元素不止一个直接前驱或不止一个直接后驱(T )。
4.树的最大特点是一对多的层次结构(T )。
5.队列的特点是先进先出(T )。
6.由后序遍历序列和中序遍历序列能唯一确定一颗二叉树(T )。
7.数据的存储结构独立于计算机( F )。
8.线性表简称为”顺序表”。
( F )9.对数据的任何运算都不能改变数据原有的结构特性(T )。
10.从循环单链表的任一结点出发,可以找到表中的所有结点(T )。
1.栈是一种先进先出的线性表( F )。
2.链表的主要缺点是不能随机访问(T )。
3.二叉树是树的特殊形式( F )。
4.冒泡排序法是稳定的排序(T )。
5.算法是对解题方法和步骤的描述(T)。
6.算法可以用任意的符号来描述(T )。
7.数据的逻辑结构可以看作是从具体问题抽象出来的数学模型(T )。
8.线性表的顺序存储方式是按逻辑次序将元素存放在一片地址连续的空间中(T )。
9.栈是一种先进后出的线性表(T )。
10.将插入和删除限定在表的同一端进行的线性表是队列( F )。
判断题,在每小题前面打对号表示正确或打叉号表示错误1. 数据的逻辑结构与数据元素本身的内容和形式无关。
对2. 使用三元组表示稀疏矩阵中的非零元素能节省存储空间。
对3. 在一棵二叉树中,假定每个结点只有左子女,没有右子女,则对它分别进行前序遍历和按层遍历时具有相同的结果。
对4. 能够在链接存储的有序表上进行折半搜索,其时间复杂度与在顺序存储的有序表上相同。
错5. 邻接表表示只能用于有向图的存储,邻接矩阵对于有向图和无向图的存储都适用。
错6. 在索引顺序结构上实施分块搜索,在等概率情况下,其平均搜索长度不仅与子表个数有关,而且与每一个子表中的对象个数有关。
对7. 向一棵B树插入关键码的过程中,若最终引起树根结点的分裂,则新树比原树的高度减少1。
错8. 算法和程序都应具有下面一些特征:有输入,有输出,确定性,有穷性,有效性。
错9. 用字符数组存储长度为n的字符串,数组长度至少为n+1。
对10. 在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针。
对11. 邻接矩阵适用于稀疏图的表示,邻接表适用于稠密图的表示。
错12. 对一个无向连通图进行一次深度优先搜索遍历时可以访问到图中的所有顶点。
对13. 在索引顺序结构的搜索中,对索引表只可以采取顺序搜索,不可以采用折半搜索。
错14. 图中各个顶点的编号是人为的,不是它本身固有的,因此可以根据需要进行改变。
对15. 线性表若采用链式存储表示时,其存储结点的地址可连续也可不连续。
对16. 在线性链表中删除结点时,只需要将被删结点释放,不需要修改任何指针。
错17. 在用单链表表示的链式队列Q中,假定队头指针为Q->front,队尾指针为Q->rear,则链队为空的条件为Q->front==Q->rear。
错18. 一棵AVL树的所有叶结点不一定在同一层次上,同样,平衡的m路搜索树的叶结点也不一定在同一层次上。
对19. 一个广义表((a),((b),c),(d))的表尾是“((b),c),(d)”。
判断题,在每小题前面打对号表示正确或打叉号表示错误1. 数据的逻辑结构与数据元素本身的内容和形式无关。
对2. 使用三元组表示稀疏矩阵中的非零元素能节省存储空间。
对3. 在一棵二叉树中,假定每个结点只有左子女,没有右子女,则对它分别进行前序遍历和按层遍历时具有相同的结果。
对4. 能够在链接存储的有序表上进行折半搜索,其时间复杂度与在顺序存储的有序表上相同。
错5. 邻接表表示只能用于有向图的存储,邻接矩阵对于有向图和无向图的存储都适用。
错6. 在索引顺序结构上实施分块搜索,在等概率情况下,其平均搜索长度不仅与子表个数有关,而且与每一个子表中的对象个数有关。
对7. 向一棵B树插入关键码的过程中,若最终引起树根结点的分裂,则新树比原树的高度减少1。
错8. 算法和程序都应具有下面一些特征:有输入,有输出,确定性,有穷性,有效性。
错9. 用字符数组存储长度为n的字符串,数组长度至少为n+1。
对10. 在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针。
对11. 邻接矩阵适用于稀疏图的表示,邻接表适用于稠密图的表示。
错12. 对一个无向连通图进行一次深度优先搜索遍历时可以访问到图中的所有顶点。
对13. 在索引顺序结构的搜索中,对索引表只可以采取顺序搜索,不可以采用折半搜索。
错14. 图中各个顶点的编号是人为的,不是它本身固有的,因此可以根据需要进行改变。
对15. 线性表若采用链式存储表示时,其存储结点的地址可连续也可不连续。
对16. 在线性链表中删除结点时,只需要将被删结点释放,不需要修改任何指针。
错17. 在用单链表表示的链式队列Q中,假定队头指针为Q->front,队尾指针为Q->rear,则链队为空的条件为Q->front==Q->rear。
错18. 一棵AVL树的所有叶结点不一定在同一层次上,同样,平衡的m路搜索树的叶结点也不一定在同一层次上。
对19. 一个广义表((a),((b),c),(d))的表尾是“((b),c),(d)”。
数据结构判断题题库1. 栈和队列的主要区别是什么?答:栈和队列都是常用的数据结构,但它们在操作上有一些主要的区别。
栈是一种后进先出(LIFO)的数据结构,只能在栈顶进行插入和删除操作。
而队列是一种先进先出(FIFO)的数据结构,只能在队首进行删除操作,在队尾进行插入操作。
2. 什么是二叉树?答:二叉树是一种特殊的树形结构,其中每一个节点最多有两个子节点。
每一个节点都包含一个值和指向其左子节点和右子节点的指针。
二叉树的特点是每一个节点的左子树和右子树都是二叉树。
3. AVL树是什么?答:AVL树是一种自平衡的二叉搜索树,它的特点是任何节点的左子树和右子树的高度差最多为1。
在插入或者删除节点时,AVL树会通过旋转操作来保持平衡,以确保树的高度始终保持在对数级别。
4. 什么是哈希表?答:哈希表是一种根据关键字直接访问内存中存储位置的数据结构。
它通过将关键字映射到一个固定大小的数组中来实现快速的查找和插入操作。
哈希表的核心是哈希函数,它将关键字映射到数组的索引位置上。
5. 什么是图的邻接矩阵表示法?答:图的邻接矩阵表示法是一种常用的图的表示方法。
它使用一个二维数组来表示图中的顶点之间的关系。
数组的行和列分别表示图中的顶点,而数组中的元素表示两个顶点之间是否存在边或者弧。
6. 什么是深度优先搜索(DFS)?答:深度优先搜索是一种用于遍历或者搜索图和树的算法。
它从一个起始顶点开始,沿着一条路径尽可能深地探索,直到到达不能再继续探索的节点为止。
然后回溯到上一个节点,继续探索其他路径,直到遍历完整个图或者树。
7. 什么是广度优先搜索(BFS)?答:广度优先搜索是一种用于遍历或者搜索图和树的算法。
它从一个起始顶点开始,先访问其所有的邻接顶点,然后再挨次访问这些邻接顶点的邻接顶点,以此类推。
广度优先搜索使用队列来实现,保证了顶点的访问顺序是按照距离起始顶点的距离递增的。
8. 什么是最短路径算法?答:最短路径算法是用于找到两个顶点之间最短路径的算法。
数据结构判断题三.判断题。
1. 数据元素是数据的最小单位。
(错误)2. 数据的逻辑结构是指数据的各数据项之间的逻辑关系。
(错误)3. 算法的优劣与算法描述语言无关,但与所用计算机有关。
(错误)4. 程序一定是算法。
(错误)5. 数据的物理结构是指数据在计算机内的实际存储形式。
(正确)6. 数据的抽象操作的定义与具体实现有关。
(错误)7. 数据的逻辑结构表达了数据元素之间的关系,它依赖于计算机的存储结构。
(正确)习题二三.判断题。
1. 链表中的头结点仅起到标识作用。
(错误)2. 顺序存储的线性表可以按序号随机存取。
(正确)3. 线性表采用链表存储时,存储空间可以是不连续的。
(正确)4. 静态链表中地址相邻的元素具有前驱后继的关系。
(错误)5. 对任何数据结构,链式存储结构一定优于顺序存储结构。
(错误)6. 在线性表的顺序存储结构中,逻辑上相邻的两个元素在无力位置上不一定紧邻。
(错误)7. 循环链表可以在尾部设置头指针。
(正确)8. 为了方便插入和删除,可以使用双向链表存放数据。
(正确)9. 在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构。
(错误)10. 取顺序表的第i个元素的时间与i的大小有关。
(错误)习题三1. 消除递归一定要使用C。
(错误)2. C是实现过程和函数调用所必须的结构。
(正确)3. 两个C共享一片连续内存空间时,为提高内存利用率、减少溢出机会,应把两个C的栈底分别设在这片内存空间的两端。
(正确)4. 用递归方法设计的算法效率高。
(错误)5. 栈与队列是一种特殊的线性表。
(正确)6. 队列逻辑上是一端既能增加又能减少的线性表。
(错误)7. 循环队列通常浪费一个存储空间。
(正确)8. 循环队列也存在空间溢出问题。
(正确)9. 栈和队列的存储方式,既可以是顺序方式,又可以是链式方式。
(正确)10. 任何一个递归过程都可以转换成非递归过程。
(正确)习题四1. KMP算法的特点是在模式匹配时指示主串的指针不会变小。
数据构造真题汇总之判断题篇
【勤思提示】
1. 数据元素是数据的最小单位。
( )
【北京邮电大学 1998 一、1〔2分〕】【青岛大学 2000 一、1 〔1分〕】
【上海交通大学 1998 一、1】【山东师范大学 2001 一、1 〔2分〕】
2. 记录是数据处理的最小单位。
( ) 【上海海运学院 1998
一、5〔1分〕】
3. 数据的逻辑构造是指数据的各数据项之间的逻辑关系;( )【北京邮电大学2002 一、1〔1分〕】
4.算法的优劣与算法描绘语言无关,但与所用计算机有关。
( )【大连海事大学 2001 一、10〔1分〕】
5.强健的算法不会因非法的输入数据而出现莫名其妙的状态。
( )【大连海事大学 2001 一、11〔1分〕】
6.算法可以用不同的语言描绘,假设用C 语言或PASCAL语言等高级语言来描绘,那么算法实际上就是程序了。
( )【西安交通
大学 1996 二、7〔3分〕】
7.程序一定是算法。
( )【燕山大学 1998 二、2〔2分〕并改错】
8.数据的物理构造是指数据在计算机内的实际存储形式。
( )【山东师范大学2001 一、2〔2分〕】
9. 数据构造的抽象操作的定义与详细实现有关。
( )【华南理工大学 2002 一、1〔1分〕】
答案如下:
1. ×
2. ×
3.×
4.×
5. √
6. ×
7. ×
8. √
9.×
10.×
11.×
12. √
13. ×。
数据结构判断题一、题目描述判断题是一种常见的考察数据结构知识的题型。
本文将提供一些数据结构判断题,并给出详细的解析和答案。
二、题目列表及解析1. 链表是一种线性数据结构。
解析:正确。
链表是一种线性数据结构,它由一系列节点组成,每一个节点包含一个数据元素和一个指向下一个节点的指针。
2. 栈是一种先进后出(FILO)的数据结构。
解析:正确。
栈是一种特殊的线性数据结构,它的插入和删除操作只能在同一端进行,遵循先进后出的原则。
3. 队列是一种先进先出(FIFO)的数据结构。
解析:正确。
队列是一种特殊的线性数据结构,它的插入操作在队尾进行,删除操作在队头进行,遵循先进先出的原则。
4. 哈希表是一种基于数组实现的数据结构。
解析:正确。
哈希表是一种根据关键字直接访问内存地址的数据结构,它通常是基于数组实现的。
5. 二叉树是一种非线性数据结构。
解析:正确。
二叉树是一种非线性数据结构,它的每一个节点最多有两个子节点。
6. 图是一种线性数据结构。
解析:错误。
图是一种非线性数据结构,它由节点和边组成,节点之间的关系可以是任意的。
7. 堆是一种可以快速找到最大或者最小值的数据结构。
解析:正确。
堆是一种彻底二叉树,它可以快速找到最大或者最小值的节点。
8. AVL树是一种自平衡的二叉搜索树。
解析:正确。
AVL树是一种自平衡的二叉搜索树,它的左子树和右子树的高度差不超过1。
9. B树是一种多路搜索树。
解析:正确。
B树是一种多路搜索树,它的每一个节点可以包含多个关键字和子节点。
10. 哈夫曼树是一种最优二叉树。
解析:正确。
哈夫曼树是一种最优二叉树,它的带权路径长度最小。
三、总结本文提供了一些常见的数据结构判断题,并给出了详细的解析和答案。
通过对这些题目的学习和理解,可以加深对数据结构的认识和理解,提高解决实际问题的能力。
数据结构是计算机科学的基础,掌握好数据结构知识对于编程和算法的学习非常重要。
希翼本文能对读者有所匡助。
数据结构判断题题库一、单选题1. 数据结构是指()。
A. 存储数据的方式B. 数据的逻辑结构和存储结构C. 数据的物理结构D. 数据的运算操作正确答案:B解析:数据结构是指数据的逻辑结构和存储结构。
逻辑结构是指数据元素之间的关系,存储结构是指数据在计算机中的存储方式。
2. 在线性表中,第一个元素的位置通常为()。
A. 0B. 1C. -1D. 随机正确答案:B解析:在线性表中,第一个元素的位置通常为1。
在一些编程语言中,数组的下标从0开始,但在数据结构中,通常将第一个元素的位置定义为1。
3. 栈是一种()的数据结构。
A. 先进先出B. 先进后出C. 后进先出D. 后进后出正确答案:C解析:栈是一种后进先出(Last In First Out,LIFO)的数据结构,即最后进入的元素最先出来。
4. 队列是一种()的数据结构。
A. 先进先出B. 先进后出C. 后进先出D. 后进后出正确答案:A解析:队列是一种先进先出(First In First Out,FIFO)的数据结构,即最先进入的元素最先出来。
5. 二叉树是一种特殊的树结构,每一个节点最多有()个子节点。
A. 1B. 2C. 3D. 无限个正确答案:B解析:二叉树是一种特殊的树结构,每一个节点最多有两个子节点,分别称为左子节点和右子节点。
二、多选题1. 下列哪些是非线性数据结构?()A. 栈B. 队列C. 链表D. 树E. 图正确答案:CDE解析:非线性数据结构是指其中的元素之间存在非简单的一对一关系,包括链表、树和图。
2. 下列关于树的说法哪些是正确的?()A. 树是一种非线性数据结构B. 树可以为空C. 树的节点个数等于边的个数加1D. 树的节点个数等于边的个数减1正确答案:AB解析:树是一种非线性数据结构,可以为空。
树的节点个数等于边的个数加1。
3. 以下哪些是图的存储结构?()A. 邻接矩阵B. 邻接表C. 二叉树D. 哈希表正确答案:AB解析:图的存储结构包括邻接矩阵和邻接表。
一.判断题10*1分1.调用一次深度优先遍历可以访问到图中的所有顶点。
(错)2.分块查找的平均查找长度不仅与索引表的长度有关,而且与块的长度有关。
(对)3.冒泡排序在初始关键字序列为逆序的情况下执行的交换次数最多。
(对)4.满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树。
(对)5.设一棵二叉树的先序序列和后序序列,则能够唯一确定出该二叉树的形状。
(错)6.层次遍历初始堆可以得到一个有序的序列。
(错)7.设一棵树T可以转化成二叉树BT,则二叉树BT中一定没有右子树。
(对)8.线性表的顺序存储结构比链式存储结构更好。
(错)9.中序遍历二叉排序树可以得到一个有序的序列。
(对)10.快速排序是排序算法中平均性能最好的一种排序。
(对)1.不论是入队列操作还是入栈操作,在顺序存储结构上都需要考虑“溢出”情况。
(对)2.当向二叉排序树中插入一个结点,则该结点一定成为叶子结点。
(对)3.设某堆中有n个结点,则在该堆中插入一个新结点的时间复杂度为O(log2n)。
(对)4.完全二叉树中的叶子结点只可能在最后两层中出现。
(对)5.哈夫曼树中没有度数为1的结点。
(对)6.对连通图进行深度优先遍历可以访问到该图中的所有顶点。
(对)7.先序遍历一棵二叉排序树得到的结点序列不一定是有序的序列。
(对)8.由树转化成二叉树,该二叉树的右子树不一定为空。
(错)9.线性表中的所有元素都有一个前驱元素和后继元素。
(错)10.带权无向图的最小生成树是唯一的。
(错)1.如果两个关键字的值不等但哈希函数值相等,则称这两个关键字为同义词。
(对)2.设初始记录关键字基本有序,则快速排序算法的时间复杂度为O(nlog2n)。
(错)3.分块查找的基本思想是首先在索引表中进行查找,以便确定给定的关键字可能存在的块号,然后再在相应的块内进行顺序查找。
(对)4.二维数组和多维数组均不是特殊的线性结构。
(错)5.向二叉排序树中插入一个结点需要比较的次数可能大于该二叉树的高度。
数据结构判断题(共5页) -本页仅作为预览文档封面,使用时请删除本页-一、判断题 (每题1分,共131分)1. 线性表的逻辑顺序总是与其物理顺序一致。
()【答案】错2. 线性表的顺序存储优于链式存储。
()【答案】错3. 在长度为n的顺序表中,求第i个元素的直接前驱算法的时间复杂度为0(1)。
()【答案】对4. 若一棵二叉树中的结点均无右孩子,则该二叉树的中根遍历和后根遍历序列正好相反。
()【答案】错5. 顺序表和一维数组一样,都可以按下标随机(或直接)访问。
()【答案】对6. 内部排序是指排序过程在内存中进行的排序。
()【答案】对7. 当待排序序列初始有序时,简单选择排序的时间复杂性为O(n)。
()【答案】错8. 用邻接矩阵存储一个图时,在不考虑压缩存储的情况下,所占用的存储空间大小只与图中的顶点个数有关,而与图的边数无关。
( )【答案】对9. 任何一棵二叉树的叶结点在三种遍历中的相对次序是不变的。
()【答案】对10. 若将一批杂乱无章的数据按堆结构组织起来, 则堆中数据必然按从小到大的顺序线性排列。
( )【答案】错11. 如果采用如下方法定义一维字符数组:int maxSize = 30;char * a = new char[maxSize];则这种数组在程序执行过程中不能扩充。
()【答案】错12. 使用三元组表示稀疏矩阵中的非零元素能节省存储空间。
()【答案】对13. 对稀疏矩阵进行压缩存储是为了节省存储空间。
()【答案】对14. 当向一个最小堆插入一个具有最小值的元素时,该元素需要逐层向上调整,直到被调整到堆顶位置为止。
( )【答案】对15. 哈希查找法中解决冲突问题的常用方法是除留余数法。
()【答案】错16. 对具有n个结点的堆进行插入一个元素运算的时间复杂度为O(n)。
( )【答案】错17. 堆排序是一种稳定的排序算法。
( )【答案】错18. 如果有向图中各个顶点的度都大于2,则该图中必有回路。
数据的物理存储结构主要包括顺序存储结构和链式存储结构两种情况。
Tfor(i=1,t=1,s=0;i<=n;i++) {t=t*i;s=s+t;}的时间复杂度为O(n)。
T线性表的逻辑顺序与存储顺序总是一致的。
F(存储为顺序存储与链式存储,顺序表是一致的,链表是不一致的。
)顺序存储方式只能用于存储线性结构。
F(树形结构也可以,比如:A(B(D,E,F),C(H,I,J)))线性表在物理存储空间中也一定是连续的。
F(顺序存储与链式存储)在顺序表中取出第i个元素所花费的时间与i成正比。
F(通过下标查找,均为O(1))设指针变量p指向单链表中结点A,指针变量s指向被插入的结点B,则在结点A的后面插入结点B的操作序列为s->next=p->next; s->next=s F(p->next=s)在以HL为表头指针的带表头附加结点的单链表和循环单链表中,判断链表为空的条件分别为HL→next =NULL;和HL=HL→next;。
F(HL->next=HL)双链表中至多只有一个结点的后继指针为空。
F(头结点的prior为空,尾结点的next为空)栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种先进先出型结构。
F(先进后出)一个栈的输入序列是12345,则栈的输出序列不可能是12345。
F(进一个出一个)队列的插入和删除运算分别在队列的两端进行,先进队列的元素必定先出队列,所以又把队列称为FIFO表。
T用具有n个元素的一维数组存储一个循环队列,则其队首指针总是指向队首元素的前一个位置,该循环队列的最大长度为n-1。
T设顺序循环队列Q[0:m-1]的队头指针和队尾指针分别为F和R,其中队头指针F指向当前队头元素的前一个位置,队尾指针R指向当前队尾元素所在的位置,则出队列的语句为F = (F+1) % m; T设二叉树中度数为0的结点数为50,度数为1的结点数为30,则该二叉树中总共有129个结点数。
1.数据结构概念包括数据之间的逻辑结构,数据在计算机中的存储方式和数据的运算三个方面。
T
2.线性表的逻辑顺序与物理顺序总是一致的。
F
3.线性表中的每个结点最多只有一个前驱和一个后继。
T
4.线性的数据结构可以顺序存储,也可以链接存储。
非线性的数据结构只能链接存储。
F
5.栈和队列逻辑上都是线性表。
T
6.单链表从任何一个结点出发,都能访问到所有结点。
F
7.单链表形式的队列,头指针F指向队列的第一个结点,尾指针R指向队列的最后一个节点。
T
8.在用单链表表示的链式队列中,队头在链表的链尾位臵。
F
9.多维数组是向量的推广。
T
10.栈是一种先进先出的线性表。
F
11.凡是递归定义的数据结构都可以用递归算法来实现它的操作。
T
12.设串S的长度为n,则S的子串个数为n(n+1)/2。
F
13.一般树和二叉树的结点数目都可以为0。
F
14.按中序遍历二叉树时,某结点的直接后继是它的右子树中第1个被访问的结点。
T
15.后序序列和中序序列能唯一确定一棵二叉树。
T
16.对于一棵具有n个结点,其高度为h的二叉树,进行任—种次序遍历的时间复杂度为O(n)。
T
17.三元组表示法用一个数组(顺序结构)来表示稀疏矩阵。
T
18.三元组表示法,结点间的顺序按矩阵的列优先顺序排列(跳过非零元素)。
F
19.三元组表示法,需要2k个存储单元 F
20.伪地址表示法,需要3k个存储单元 F
21.如果广义表中的元素全部都是原子,这种广义表就是线性表 T
22.如果广义表中的元素允许有子广义表,但所有各层子广义表均无共享,这种广义表,称为再入表。
F
23.在各层子广义表中允许共享的广义表,称为再入表 T
24.允许(子)广义表直接(或间接)地把作为自己的子广义表时,这样的广义表,称为递归表。
T
25.广义表的表示方法主要有:单链表示法和循环链表表示法 F
26.广义表单链表示法,每个结点由两个个字段组成:atom和info F
27.广义表单链表示法,每个结点由三个字段组成:atom,info,link。
T
28.广义表单链表示法,其中atom是一标志位:atom=1表示本结点为子广义表,这时字段info存放子广义表中第一个元素所对应结点的地址.F
29.广义表单链表示法,其中字段link存放与本元素同层的下一个元素所对应结点的地址,当本元素是所在层的最后一个元素时,link=NULL。
T
30.习惯上把在使用期间,可自由插入和删除的数据结构称为动态数据结构。
T
31.在程序运行过程中,对于动态数据结构结的分配和回收需要采用动态存储管理的方法。
T
32.调用函数malloc,便能得到一个所需结点的空间,并返回这个结点的总大小F
33.空串不是任何串的子串 F
34.任意串s都是s本身的子串 T
35.串s是s本身的真子串 F
36.除s本身之外,s的其它子串称为s的真子串 T
37.子串在主串中的位臵指的是该子串的最后一个字符在主串中的位臵 F
38.在串的链接表示中,每个结点包含两个字段:字符和指针,分别用于存放字符和指向上一个结点的指针。
F
39.设有两个串t和p:t = t0t1…tn-1,p = p0p1…pm-1 其中1<m≤n(通常有m << n)。
在t中找出一个与p相同的子串。
通常把p称为目标,把t称为模式。
F
40.如果t中存在等于p的子串,就指出该子串在t中的位臵,称为匹配成功;否则称为匹配失败。
T
41.朴素模式匹配算法,算法运行时间为O(m*n)T
42.KMP算法时间代价为O(n2) F
43.KMP算法时间代价为O(n) T
44.栈是一种特殊的线性表,它所有的插入和删除都限制在表的同一端进行 T
45.栈的删除运算通常称为退栈或出栈。
T
46.栈又称为先进先出表或下推表 F
47.栈结构不会出现溢出问题 F
48.而对空栈进行出栈运算时也会产生溢出,通常称为上溢 F
49.当栈中已经有 MAXNUM个元素时,如果再作进栈运算,则会产生溢出,通常称为上溢 T
50.包含直接还是间接递归调用的函数都称为递归函数 T
51.在非递归调用的情况下,数据区的分配方法采用动态分配 F
52.在递归调用的情况下,数据区的范培采用动态分配方法。
T
53.队列中允许进行删除的这一端叫队列的尾,允许进行插入的这一端叫队列的头。
F
54.由于数组是静态结构,而队列是动态结构,也存在队列溢出问题 T
55.队列结构不会出现溢出问题 F
56.采用环形队列可以解决队列中假溢出的现象 T
57.一般解决队列假溢出现象采用的是循环队列 F
58.栈和队列的运算都限制在它们的端点上进行,所以也称为限制存取点的表。
T
59.双端队列是一种特殊的线性表,对它所有的插入和删除都限制在表的两端进行。
T
60.双栈是一种加限制的双端队列,它规定从栈底插入的元素可以从任一端删除。
F
61.超队列是一种输出受限的双端队列,即插入限制在一端(例如end1)进行,而删除仍允许在两端进行。
F
62.超栈是一种输入受限的双端队列,即插入限制在一端(例如end2)进行,而删除仍允许在两端进行。
T
63.二叉树的定义是个递归定义。
T
64.二叉树也可以是只有一个结点的集合,这个节点既可以看成树的根,也可以看成左子树或右子树。
F
65.如果一棵二叉树的任何结点或者是树叶,或有两棵非空子树,则此二叉树称作完全二叉树。
F
66.如果一棵二叉树的任何结点或者是树叶,或有两棵非空子树,则此二叉树称作满二叉树 T
67.如果一棵二叉树至多只有最下面的两层结点度数可以小于2,其余各层结点度数都必须为2,并且最下面一层的结点都集中在该层最左边的若干位臵上,则此二叉树称为完全二叉树。
T
68.完全二叉树一定是满二叉树。
F
69.在非空二叉树的i层上至多有2i个结点(i≥0)。
F
70.高度为k的二叉树中最多有2k+1 - 1个结点(k≥0).T
71.对于任何一棵非空的二叉树,如果叶结点个数为n0,度为2的结点个数为n2,则有:n0= n2 + 1 。
T
72.在完全二叉树中,叶结点的个数比分支结点个数多1。
F
73.在扩充二叉树中,外部结点的个数比内部结点的个数多1。
T
74.对任意扩充二叉树,外部路径长度E和内部路径长度I之间满足以下关系:
E = I + 3n,其中n是内部结点个数。
F
75.二叉树广度优先遍历共有六种方式。
F
76.通常将按对称次序遍历一棵二叉树得到的线性表称为这棵二叉树的对称(中根)序列. T
77.给定一个二叉树的任意一种周游的序列,可以唯一确定这个二叉树。
F
78.广度优先周游一棵二叉树所得到的结点序列,叫作这棵二叉树的层次序列。
T
79.树在具体应用中采用多种不同的形式来表示 . T。