数据结构简答题

数据结构简答题
数据结构简答题

试比较顺序存储结构与链式存储结构的优缺点。在什么情况下用顺序表比链表好?

答:①顺序存储时,相邻数据元素的存放地址也相邻(逻辑与物理统一);要求内存中可用存储单元的地址必须就是连续的。

优点:存储密度大(=1),存储空间利用率高。缺点:插入或删除元素时不方便。

②链式存储时,相邻数据元素可随意存放,但所占存储空间分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针

优点:插入或删除元素时很方便,使用灵活。缺点:存储密度小(<1),存储空间利用率低。顺序表适宜于做查找这样的静态操作;链表宜于做插入、删除这样的动态操作。

若线性表的长度变化不大,且其主要操作就是查找,则采用顺序表;

若线性表的长度变化较大,且其主要操作就是插入、删除操作,则采用链表。

一棵度为2的有序树与一棵二叉树有何区别?

答:一棵度为二的有序树与一棵二叉树的区别在于:有序树的结点次序就是相对于另一结点而言的,如果有序树中的子树只有一个孩子时,这个孩子结点就无须区分其左右次序、

而二叉树无论其孩子数就是否为2,均需确定其左右次序,也就就是说二叉树的结点次序不就是相对于另一结点而言而就是确定的。

简述下列术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型与抽象数据类型。数据就是对客观事物的符号表示。在计算机科学中就是指所有能输入到计算机中并被计算机程序处理的符号的总称。

数据元素就是数据的基本单位,在计算机程序中通常作为一个整体进行考虑与处理。数据对象就是性质相同的数据元素的集合,就是数据的一个子集。

数据结构就是相互之间存在一种或多种特定关系的数据元素的集合。

存储结构就是数据结构在计算机中的表示。

数据类型就是一个值的集合与定义在这个值集上的一组操作的总称。

抽象数据类型就是指一个数学模型以及定义在该模型上的一组操作。就是对一般数据类型的扩展。

试描述数据结构与抽象数据类型的概念与程序设计语言中数据类型概念的区别。

解:抽象数据类型包含一般数据类型的概念,但含义比一般数据类型更广、更抽象。一般数据类型由具体语言系统内部定义,直接提供给编程者定义用户数据,因此称它们为预定义数据类型。抽象数据类型通常由编程者定义,包括定义它所使用的数据与在这些数据上所进行的操

作。在定义抽象数据类型中的数据部分与操作部分时,要求只定义到数据的逻辑结构与操作说明,不考虑数据的存储结构与操作的具体实现,这样抽象层次更高,更能为其她用户提供良好的使用接口。

描述以下三个概念的区别:头指针,头结点,首元结点(第一个元素结点)。

头指针就是指向链表中第一个结点的指针。首元结点就是指链表中存储第一个数据元素的结点。头结点就是在首元结点之前附设的一个结点,该结点不存储数据元素,其指针域指向首元结点,其作用主要就是为了方便对链表的操作。它可以对空表、非空表以及首元结点的操作进行统一处理。

线性表的两种存储结构各有哪些优缺点?

线性表具有两种存储结构即顺序存储结构与链接存储结构。线性表的顺序存储结构可以直接存取数据元素,方便灵活、效率高,但插入、删除操作时将会引起元素的大量移动,因而降低效率:而在链接存储结构中内存采用动态分配,利用率高,但需增设指示结点之间关系的指针域,存取数据元素不如顺序存储方便,但结点的插入、删除操作较简单。

对于线性表的两种存储结构,如果有n个线性表同时并存,而且在处理过程中各表的长度会动态发生变化,线性表的总数也会自动改变,在此情况下,应选用哪一种存储结构?为什么?

应选用链接存储结构,因为链式存储结构就是用一组任意的存储单元依次存储线性表中的各元素,这里存储单元可以就是连续的,也可以就是不连续的:这种存储结构对于元素的删除或插入运算就是不需要移动元素的,只需修改指针即可,所以很容易实现表的容量的扩充。

对于线性表的两种存储结构,若线性表的总数基本稳定,且很少进行插入与删除操作,但要求以最快的速度存取线性表中的元素,应选用何种存储结构?试说明理由。

应选用顺序存储结构,因为每个数据元素的存储位置与线性表的起始位置相差一个与数据元素在线性表中的序号成正比的常数。因此,只要确定了其起始位置,线性表中的任一个数据元素都可随机存取,因此,线性表的顺序存储结构就是一种随机存取的存储结构,而链表则就是一种顺序存取的存储结构。

在单循环链表中设置尾指针比设置头指针好不?为什么?

设尾指针比设头指针好。尾指针就是指向终端结点的指针,用它来表示单循环链表可以使得查找链表的开始结点与终端结点都很方便,设一带头结点的单循环链表,其尾指针为

rear,则开始结点与终端结点的位置分别就是rear->next->next 与rear, 查找时间都就是O(1)。若用头指针来表示该链表,则查找终端结点的时间为O(n)。

假定有四个元素A, B, C, D依次进栈,进栈过程中允许出栈,试写出所有可能的出栈序列。

共有14种可能的出栈序列,即为:

ABCD, ABDC,ACBD, ACDB,BACD,ADCB,BADC,BCAD, BCDA,BDCA,CBAD, CBDA,CDBA, DCBA

什么就是队列的上溢现象?一般有几种解决方法,试简述之。

在队列的顺序存储结构中,设队头指针为front,队尾指针为rear,队列的容量(即存储的空间大小)为maxnum。当有元素要加入队列(即入队)时,若rear=maxnum,则会发生队列的上溢现象,此时就不能将该元素加入队列。对于队列,还有一种“假溢出”现象,队列中尚余有足够的空间,但元素却不能入队,一般就是由于队列的存储结构或操作方式的选择不当所致,可以用循

数据结构简答题打印版

数据结构简答题 1.1 简述下列术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。 解:数据是对客观事物的符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。 数据元素是数据的基本单位,在计算机程序常作为一个整体进行考虑和处理。 数据对象是性质相同的数据元素的集合,是数据的一个子集。 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 存储结构是数据结构在计算机中的表示。 数据类型是一个值的集合和定义在这个值集上的一组操作的总称。 抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。是对一般数据类型的扩展。 1.2 试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。 解:抽象数据类型包含一般数据类型的概念,但含义比一般数据类型更广、更抽象。一般数据类型由具体语言系统部定义,直接提供给编程者定义用户数据,因此称它们为预定义数据类型。抽象数据类型通常由编程者定义,包括定义它所使用的数据和在这些数据上所进行的操作。在定义抽象数据类型中的数据部分和操作部分时,要求只定义到数据的逻辑结构和操作说明,不考虑数据的存储结构和操作的具体实现,这样抽象层次更高,更能为其他用户提供良好的使用接口。 1.7 在程序设计中,可采用下列三种方法实现输出和输入: (1) 通过scanf和printf语句; (2) 通过函数的参数显式传递; (3) 通过全局变量隐式传递。 试讨论这三种方法的优缺点。 解:(1)用scanf和printf直接进行输入输出的好处是形象、直观,但缺点是需要对其进行格式控制,较为烦琐,如果出现错误,则会引起整个系统的崩溃。 (2)通过函数的参数传递进行输入输出,便于实现信息的隐蔽,减少出错的可能。 (3)通过全局变量的隐式传递进行输入输出最为方便,只需修改变量的值即可,但过多的全局变量使程序的维护较为困难。 2.1 描述以下三个概念的区别:头指针,头结点,首元结点(第一个元素结点)。 解:头指针是指向链表中第一个结点的指针。首元结点是指链表中存储第一个数据元素的结点。头结点是在首元结点之前附设的一个结点,该结点不存储数据元素,其指针域指向首元结点,其作用主要是为了方便对链表的操作。它可以对空表、非空表以及首元结点的操作进行统一处理。 2.2 填空题。 解:(1) 在顺序表中插入或删除一个元素,需要平均移动表中一半元素,具体移动的元素个数与元素在表中的位置有关。 (2) 顺序表中逻辑上相邻的元素的物理位置必定紧邻。单链表中逻辑上相邻的元素的物理位置不一定紧邻。 (3) 在单链表中,除了首元结点外,任一结点的存储位置由其前驱结点的链域的值指示。 (4) 在单链表中设置头结点的作用是插入和删除首元结点时不用进行特殊处理。 2.3 在什么情况下用顺序表比链表好?

数据结构(本)形考作业答案

形考作业一 题目1 把数据存储到计算机中,并具体体现数据元素间的逻辑结构称为()。 选择一项: A. 逻辑结构 B. 给相关变量分配存储单元 C. 算法的具体实现 D. 物理结构 题目2 下列说法中,不正确的是()。 选择一项: A. 数据可有若干个数据元素构成 B. 数据元素是数据的基本单位 诃C.数据项是数据中不可分割的最小可标识单位 产_D.数据项可由若干个数据元素构成 题目3 一个存储结点存储一个()。 选择一项: A. 数据结构 B. 数据类型 C. 数据项 i_D.数据元素 题目4 数据结构中,与所使用的计算机无关的是数据的()。 选择一项: 题目5

下列的叙述中,不属于算法特性的是(选 )°择一项: A. 有穷性 B. 可行性

* C.可读性 D. 输入性 题目6 正确 获得2.00分中的2.00分 ◎ A.研究算法中的输入和输出的关系 B. 分析算法的易懂性和文档性 I 圏 C.分析算法的效率以求改进 D.找出数据结构的合理性 题目7 算法指的是( )。 选择一项: A. 排序方法 B. 解决问题的计算方法 C. 计算机程序 * D.解决问题的有限运算序列 题目8 算法的时间复杂度与( 选择一项: A. 所使用的计算机 因B.数据结构 D. i 题目10 设有一个长度为n 的顺序表,要删除第i 个元素移动元素的个数为( )。 选择一项: )有关。 D. 计算机的操作系统 题目9 设有一个长度为n 的顺序表,要在第i 个元素之前(也就是插入元素作为新表的第 i 个元 素),插入一个元素,则移动元素个数为( )。 选择一项: A. n-i+1 3 B. n-i-1 rj C. n-i C.算法本身

数据结构试题14

一、简答题:(每小题3分,共15分) 1.在哈希查找法中,为什么平均查找长度与关键字个数无关? 2.对于无向图,如何用遍历算法判断图中是否存在回路? 3.Huffman树是否唯一?请举例说明。 4.栈和队列各有哪些基本操作? 5.在一个与堆序列对应的完全二叉树中,从根结点到任一个叶结点的路径 上的关键字序列有何特点?为什么? 二、判断正误:(每小题1分,共5分) 正确在()内打√,否则打 。 ()1. 折半搜索只适用于有序表,包括有序顺序表和有序单链表。 ()2.由树的中序表示和前序表示可以导出树的后序表示。 ()3. 查找n个关键字的散列表时,平均查找长度与n无关。 ()4. 希尔排序是一种不稳定的排序方法。 ()5. 给定一个关键字集合,将得到唯一的一棵二叉排序树,与关键字的插入顺序无关。 三、单项选择题:(每小题1分,共5分) 1. 某二叉树结点的中序序列为A、B、C、D、E、F、G,后序序列为B、D、C、 A、F、G、E,则该二叉树根的右子是: A)E B)F C)D D)G 2.在长度为n的顺序表的第i ( 1≤ i ≤n+1 )个位置上插入一个元素,元素的移动次数为: A) n-i+1 B) n-i C) i D) i-1 3.下面关于图的存储的叙述中正确的是 A)邻接矩阵占用的存储空间只与图中结点个数有关,而与边数无关; B)邻接矩阵占用的存储空间只与图中边数有关,而与结点个数无关; C)邻接表占用的存储空间只与图中结点个数有关,而与边数无关; D)邻接表占用的存储空间只与图中边数有关,而与结点个数无关。 4. 在待排序记录已基本有序的前提下,下述排序方法中效率最高的是: A)直接插入排序 B)简单选择排序 C)快速排序 D)归并排序 5.栈S最多能容纳4个元素。现在6个元素按A、B、C、D、E、F的顺序进栈,下列哪一个序列是不可能的出栈序列? A) A、B、C、D、E、F B) A、F、E、D 、C、B C) C、B、E、D、A、F D) C、D、B、F、E、A 四、填空题:(每小题2分,共 20分) 1.向一个有n个元素的有序表中插入一个新元素并保持原来顺序不 变,平均要移动个元素。 2.设广义表L=( ( ), ( ) ),则head(L)是;tail(L)是; L的长度是;深度是。

数据结构试题答案

第一章概论 一、选择题 1、研究数据结构就是研究(D )。 A. 数据的逻辑结构 B. 数据的存储结构 C. 数据的逻辑结构和存储结构 D. 数据的逻辑结构、存储结构及其基本操作(研究非数值计算的程序设计问题中,计算机操作对象以及他们之间的关系和操作) 2、算法分析的两个主要方面是( A )。 A. 空间复杂度和时间复杂度 B. 正确性和简单性 C. 可读性和文档性 D. 数据复杂性和程序复杂性 3、具有线性结构的数据结构是( D )。(线性结构就是:在非空有限集合中,存在为一个被称为第一个的数据元素和最后一个元素,有除了第一个元素,集合中每一个元素均只有一个前驱,除了最后一个元素有唯一后继)(链表、栈、队列、数组、串) A. 图 B. 树 C. 广义表(线性表的推广) D. 栈 4、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、(B )等5个特性。 A. 可执行性、可移植性和可扩充性 B. 可执行性、有穷性和确定性 C. 确定性、有穷性和稳定性 D. 易读性、稳定性和确定性 5、下面程序段的时间复杂度是( C )。 for(i=0;i

6、算法是(D )。为了解决某一问题而规定的一个有限长的操作序列 A. 计算机程序 B. 解决问题的计算方法 C. 排序算法 D. 解决问题的有限运算序列 7、某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示(C )。 A. O(n) B. O(nlog2n) C. O(n2) D. O(log2n) 8、下面程序段的时间复杂度为( C )。 i=1; while(i<=n) i=i*3; A. O(n) B. O(3n) C. O(log3n) D. O(n3) 9、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的(B )和运算等的学科。(关系和操作) A. 结构 B. 关系 C. 运算 D. 算法 10、下面程序段的时间复杂度是( A )。 i=s=0; while(s

数据结构考试试题

数据结构辅导试题一 一、简答问题: 1.四类数据结构 2.线性结构与非线性结构有何差别? 3.简述算法的定义与特性。 4.设有1000个无序元素,仅要求找出前10个最小元素,在下列排序方法中(归并排序、基数排序、快速排序、堆排序、插入排序)哪一种方法最好,为什么? 二、判断正误:(每小题1分,共5分)正确在()内打√,否则打 。1.()二叉排序树或是一棵空树,或是具有下列性质的二叉树: 若它的左子树非空,则根结点的值大于其左孩子的值, 若它的右子树非空,则根结点的值大于其右孩子的值。 2.()索引顺序表的特点是块内可无序,块间要有序。 3.()子串是主串中任意个连续字符组成的序列。 4.()线性结构只能用顺序结构存放,非线性结构只能用链表存放。 5.()快速排序的枢轴元素可以任意选定。 三、单项选择题:(每小题1分,共4分) 1.栈S最多能容纳4个元素。现有6个元素按A、B、C、D、E、F的顺序进栈, 问下列哪一个序列是可能的出栈序列? A)E、D、C、B、A、F B)B、C、E、F、A、D C)C、B、E、D、A、F D)A、D、F、E、B、C 2.将一棵有100个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点进行编号,根结点编号为1,则编号为49的结点的左孩子的编号为: A、98 B、99 C、50 D、48 3. 对下列关键字序列用快速排序法进行排序时,速度最快的情形是: A){21、25、5、17、9、23、30} B){25、23、30、17、21、5、9} B){21、9、17、30、25、23、5} D){5、9、17、21、23、25、30} 4. 设森林F中有三棵树,第一、第二和第三棵树的结点个数分别为M1、M2和M3。与森林F对应的二叉树根结点的右子树上的结点个数是: A)M1 B)M1+M2 C)M3 D)M2+M3 四、填空题:(每小题2分,共 20分) 1.设一哈希表表长M为100 ,用除留余数法构造哈希函数,即H(K)=K MOD P(P<=M), 为使函数具有较好性能,P应选 2.N个结点的二叉树采用二叉链表存放,共有空链域个数为 3.单链表与多重链表的区别是 4.在各种查找方法中,平均查找长度与结点个数无关的是 5.深度为6(根层次为1)的二叉树至多有个结点。 6.已知二维数组A[20][10]采用行序为主方式存储,每个元素占2个存储单元,并且A[10][5]的存储地址是1000,则A[18][9]的存储地址是 7.在一个单链表中p所指结点之后插入s所指结点时,应执行 s->next= 和p->next= 的操作. 8.广义表((a,b),c,d)的表头是,表尾是 9.循环单链表LA中,指针P所指结点为表尾结点的条件是 10.在一个待排序的序列中,只有很少量元素不在自己最终的正确位置上,但离他们的正确位置都不远,则使用排序方法最好。 五、构造题:(每小题5分,共25分) 1.已知一棵二叉树,其中序序列DBCAFGE,后序序列DCBGFEA,构造该二叉树。2.设哈希表长度为11,哈希函数H(K)=(K的第一字母在字母表中的序号)MOD11,若输入顺序为(D,BA,TN,M,CI,I,K,X,TA),处理冲突方法为线性探测再散

数据结构形考作业答案

数据结构(本)形考作业1参考答案: 一、单项选择题 1.C 2.D 3.C 4.C 5.D 6.C 7.C 8.C 9.A 10.B 二、填空题 1.n-i+1 2.n-i 3.集合、线性表、树、图 4. 存储结构、物理结构 5.线性表图 6. 有穷性、确定性、可行性、有输入、有输出 7. 图 8.树 9. 线性表 10. n-1 O(n) 11.s->next=p->next; 12.head 13.q->next=p->next; 14.p->next=head; 15.单链表 16.顺序存储链式存储 17.存储结构 18.两个后继结点前驱结点尾结点头结点 19.指向头结点的指针指向第一个结点的指针 20.链式链表 三、问答题 1.简述数据的逻辑结构和存储结构的区别与联系,它们如何影响算法的设计与实现? 答:若用结点表示某个数据元素,则结点与结点之间的逻辑关系就称为数据的逻辑结构。数据在计算机中的存储表示称为数据的存储结构。可见,数据的逻辑结构是反映数据之间的固有关系,而数据的存储结构是数据在计算机中的存储表示。尽管因采用的存储结构不同,逻辑上相邻的结点,其物理地址未必相同,但可通过结点的内部信息,找到其相邻的结点,从而保留了逻辑结构的特点。采用的存储结构不同,对数据的操作在灵活性,算法复杂度等方面差别较大。 2.解释顺序存储结构和链式存储结构的特点,并比较顺序存储结构和链式存储结构的优缺点。 答:顺序结构存储时,相邻数据元素的存放地址也相邻,即逻辑结构和存储结构是统一的,,要求内存中存储单元的地址必须是连续的。 优点:一般情况下,存储密度大,存储空间利用率高。 缺点:(1)在做插入和删除操作时,需移动大量元素;(2)由于难以估计,必须预先分配较大的空间,往往使存储空间不能得到充分利用;(3)表的容量难以扩充。 链式结构存储时,相邻数据元素可随意存放,所占空间分为两部分,一部分存放结点值,另一部分存放表示结点间关系的指针。 优点:插入和删除元素时很方便,使用灵活。

数据结构简答题

第二章:线性表 四. 简答题 1. 分析下列情况下,采用何种存储结构更好些。 (1)若线性表的总长度基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素。 (2)如果 n 个线性表同时并存,并且在处理过程中各表的长度会动态发生变化。 (3)描述一个城市的设计和规划。 答: ⑴应选用顺序存储结构。很少进行插入和删除操作,所以空间变化不大,且需要快速存取,所 以应选用顺序存储结构。 ⑵应选用链式存储结构。链表容易实现表容量的扩充,适合表的长度动态发生变化。 ⑶应选用链式存储结构。因为一个城市的设计和规划涉及活动很多,需要经常修改、扩充和删 除各种信息,才能适应不断发展的需要。而顺序表的插入、删除的效率低,故不合适。 第三章:栈和队列 四. 简答题 1. 设有一个栈,元素进栈的次序为 A,B,C,D,E,能否得到如下出栈序列,若能,请写出操作序列,若不能,请说明原因。 ⑴ C,E,A,B,D ⑵ C,B,A,D,E ⑵能,因为在 C、E 出栈后,A 一定在栈中,而且在 B 的下面,不可能先于 B 出栈 ⑵可以,设I为进栈操作,O为入栈操作,则其操作序列为 IIIOOOIOIO。 2. 在操作序列 push(1). push(2). pop. push(5). push(7). pop. push(6)之后,栈顶元素和

栈底元素分别是什么?(push(k)表示 k 入栈,pop 表示栈顶元素出栈。) 栈顶元素为 6,栈底元素为 1。 3. 在操作序列 EnQueue(1). EnQueue(3). DeQueue. EnQueue(5). EnQueue(7). DeQueue. EnQueue(9)之后,队头元素和队尾元素分别是什么?(EnQueue(k)表示整数 k 入队,DeQueue 表示队头元素出队)。 队头元素为 5,队尾元素为 9。 第六章:树和二叉树

(题)数据结构复习题

Ch3链表(共18题,11道算法设计题) 一、选择题 1、设单链表中结点的结构为(data, link)。已知指针q所指结点是指针p所指结点的直接前驱,若在*q与*p之间插入结点*s,则应执行下列哪一个操作? (1)s->link = p->link;p->link = s;(2)q->link = s;s->link = p; (3)p->link = s->link;s->link = p;(4)p->link = s;s->link = q; Key:(2) 2、设单链表中结点的结构为(data, link)。已知指针p所指结点不是尾结点,若在*p之后插入结点*s,则应执行下列哪一个操作? (1)s->link = p;p->link = s;(2)s->link = p->link;p->link = s; (3)s->link = p->link;p = s;(4)p->link = s;s->link = p;Key:(2) 3、设单链表中结点的结构为(data, link)。若想摘除结点*p的直接后继,则应执行下列哪一个操作? (1)p->link = p->link->link;(2)p = p->link;p->link = p->link->link; (3)p->link = p->link;(4)p = p->link->link; Key:(1) 4、设单循环链表中结点的结构为(data, link),且rear是指向非空的带表头结点的单循环链表的尾结点的指针。若想删除链表第一个结点,则应执行下列哪一个操作? (1)s = rear;rear = rear->link;free(s); (2)rear = rear->link;free(rear); (3)rear = rear->link->link;free(rear); (4)s = rear->link->link;rear->link->link = s->link;free(s);

数据结构形考简答题

数据结构形考简答题 1.简述数据的逻辑结构和存储结构的区别与联系,它们如何影响算法的设计与实现答:若用结点表示某个数据元素,则结点与结点之间的逻辑关系就称为数据的逻辑结构。数据在计算机中的存储表示称为数据的存储结构。可见,数据的逻辑结构是反映数据之间的固有关系,而数据的存储结构是数据在计算机中的存储表示。尽管因采用的存储结构例外,逻辑上相邻的结点,其物理地址未必相同,但可通过结点的内部信息,找到其相邻的结点,从而保留了逻辑结构的特点。采用的存储结构例外,对数据的操作在灵敏性,算法复杂度等方面差别较大。 2.解释顺序存储结构和链式存储结构的特点,并比较顺序存储结构和链式存储结构的优缺点。 答:顺序结构存储时,相邻数据元素的存放地址也相邻,即逻辑结构和存储结构是统一的,要求内存中存储单元的地址必须是持续的。 优点:大凡情况下,存储密度大,存储空间利用率高。 缺点:(1)在做插入和删除操作时,需移动大量元素;(2)由于难以估计,必须预先分配较大的空间,往往使存储空间不能得到充分利用;(3)表的容量难以扩充。 链式结构存储时,相邻数据元素可随意存放,所占空间分为两部分,一部分存放结点值,另一部分存放表示结点间关系的指针。 优点:插入和删除元素时很便当,使用灵敏。 缺点:存储密度小,存储空间利用率低。 1.栈、队列和线性表的区别是什么 答:栈是一种先进后出的线性表,栈的插入和删除操作都只能在栈顶进行,而大凡的线性表可以在线性表的任何位置进行插入和删除操作。

队列是一种先进先出的线性表,队列的插入只能在队尾进行,队列的删除只能在队头进行,而大凡的线性表可以在线性表的任何位置进行插入和删除操作 2.设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5和e6依次通过S,一个元素出栈后即进队列Q,若6个元素出队的序列是e2,e4,e3,e6,e5,e1,则栈S的容量至少应该是多少 出队序列是e2,e4,e3,e6,e5,e1的过程: (1)e1入栈(栈底到栈顶元素是e1) (2)e2入栈(栈底到栈顶元素是e1,e2) (3)e2出栈(栈底到栈顶元素是e1) (4)e3入栈(栈底到栈顶元素是e1,e3) (5)e4入栈(栈底到栈顶元素是e1,e3,e4) (6)e4出栈(栈底到栈顶元素是e1,e3) (7)e3出栈(栈底到栈顶元素是e1) (8)e5入栈(栈底到栈顶元素是e1,e5) (9)e6入栈(栈底到栈顶元素是e1,e5,e6) (10)e6出栈(栈底到栈顶元素是e1,e5) (11)e5出栈(栈底到栈顶元素是e1) (12)e1出栈(栈底到栈顶元素是空) 栈中最多时有3个元素,所以栈S的容量至少是3。 3.有5个元素,其入栈次序为:A、B、C、D、E,在各种可能的出栈次序中,以元素C、D最先的次序有哪几个

数据结构简答题

27.分别写出下图所示二叉树的前序、中序和后序表示。 28.已知图G=(V ,E ),其中: V={a,b,c,d,e}, E={(a,b),(b,d),(c,b),(c,d),(d,e),(e,a),(e,c)}。 (1)画出图G ; (2)画出图G 的邻接表。 29.以关键字序列(265, 301, 751, 129, 937, 863, 742, 694, 76, 438)为例,写出直接插入排序时各趟排序结束时关键字序列的状态。 30. 已知无向图G 的邻接矩阵如题图所示。请画出该无向图,并写出按深度优先搜索时的访问序列。 31. 已知连通网的邻接矩阵 A=??????? ?????? ?? ?∞∞ ∞∞∞∞∞∞∞4 2 104962812981106121, 试画出它的最小生成树。 27. 每个序列2分。 前序:ABDCEFGH;中序:BDAFEHGC;后序:DBFHGECA 28.

3分, 邻接表包含表项: a->b^;b->d^;c->b->d^;d->e^;e->a->c^ (3分) 29. 1.[265] 301 751 129 937 863 742 694 76 438 2.[265 301] 751 129 937 863 742 694 76 438 3.[265 301 751] 129 937 863 742 694 76 438 4.[129 265 301 751] 937 863 742 694 76 438 5.[129 265 301 751 937] 863 742 694 76 438 6.[129 265 301 751 863 937] 742 694 76 438 7.[129 265 301 742 751 863 937] 694 76 438 8.[129 265 301 694 742 751 863 937] 76 438 9.[76 129 265 301 694 742 751 863 937] 438 10.[76 129 265 301 438 694 742 751 863 937] 30.画出图(3分)并写出顺序:0,1,2,4,3(3分) 31.

数据结构简答题

试比较顺序存储结构和链式存储结构的优缺点。在什么情况下用顺序表比链表好? 答:①顺序存储时,相邻数据元素的存放地址也相邻(逻辑与物理统一);要求内存中可用存储单元的地址必须是连续的。 优点:存储密度大(=1),存储空间利用率高。缺点:插入或删除元素时不方便。 ②链式存储时,相邻数据元素可随意存放,但所占存储空间分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针 优点:插入或删除元素时很方便,使用灵活。缺点:存储密度小(<1),存储空间利用率低。顺序表适宜于做查找这样的静态操作;链表宜于做插入、删除这样的动态操作。 若线性表的长度变化不大,且其主要操作是查找,则采用顺序表; 若线性表的长度变化较大,且其主要操作是插入、删除操作,则采用链表。 一棵度为2的有序树与一棵二叉树有何区别? 答:一棵度为二的有序树与一棵二叉树的区别在于:有序树的结点次序是相对于另一结点而 言的,如果有序树中的子树只有一个孩子时,这个孩子结点就无须区分其左右次序. 而二叉树无论其孩子数是否为2,均需确定其左右次序,也就是说二叉树的结点次序不是相 对于另一结点而言而是确定的。

简述下列术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据 类型。 数据是对客观事物的符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序 处理的符号的总称。 数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。数据对象是性质相同的数据元素的集合,是数据的一个子集。 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 存储结构是数据结构在计算机中的表示。 数据类型是一个值的集合和定义在这个值集上的一组操作的总称。 抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。是对一般数据类型的扩展。 试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。 解:抽象数据类型包含一般数据类型的概念,但含义比一般数据类型更广、更抽象。一般数据类型由具体语言系统内部定义,直接提供给编程者定义用户数据,因此称它们为预定义数据类型。抽象数据类型通常由编程者定义,包括定义它所使用的数据和在这些数据上所进行

数据结构简答题

试比较顺序存储结构与链式存储结构的优缺点。在什么情况下用顺序表比链表好? 答:①顺序存储时,相邻数据元素的存放地址也相邻(逻辑与物理统一);要求内存中可用存储单元的地址必须就是连续的。 优点:存储密度大(=1),存储空间利用率高。缺点:插入或删除元素时不方便。 ②链式存储时,相邻数据元素可随意存放,但所占存储空间分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针 优点:插入或删除元素时很方便,使用灵活。缺点:存储密度小(<1),存储空间利用率低。顺序表适宜于做查找这样的静态操作;链表宜于做插入、删除这样的动态操作。 若线性表的长度变化不大,且其主要操作就是查找,则采用顺序表; 若线性表的长度变化较大,且其主要操作就是插入、删除操作,则采用链表。 一棵度为2的有序树与一棵二叉树有何区别? 答:一棵度为二的有序树与一棵二叉树的区别在于:有序树的结点次序就是相对于另一结点而言的,如果有序树中的子树只有一个孩子时,这个孩子结点就无须区分其左右次序、 而二叉树无论其孩子数就是否为2,均需确定其左右次序,也就就是说二叉树的结点次序不就是相对于另一结点而言而就是确定的。

简述下列术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型与抽象数据类型。数据就是对客观事物的符号表示。在计算机科学中就是指所有能输入到计算机中并被计算机程序处理的符号的总称。 数据元素就是数据的基本单位,在计算机程序中通常作为一个整体进行考虑与处理。数据对象就是性质相同的数据元素的集合,就是数据的一个子集。 数据结构就是相互之间存在一种或多种特定关系的数据元素的集合。 存储结构就是数据结构在计算机中的表示。 数据类型就是一个值的集合与定义在这个值集上的一组操作的总称。 抽象数据类型就是指一个数学模型以及定义在该模型上的一组操作。就是对一般数据类型的扩展。 试描述数据结构与抽象数据类型的概念与程序设计语言中数据类型概念的区别。 解:抽象数据类型包含一般数据类型的概念,但含义比一般数据类型更广、更抽象。一般数据类型由具体语言系统内部定义,直接提供给编程者定义用户数据,因此称它们为预定义数据类型。抽象数据类型通常由编程者定义,包括定义它所使用的数据与在这些数据上所进行的操

最新数据结构习题与答案--图

第7章图 一、单选题 01、在一个图中,所有顶点的度数之和等于图的边数的倍。A.1/2 B.1 C.2 D.4 02、在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的倍。 A.1/2 B.1 C.2 D.4 03、有8个结点的无向图最多有条边。 A.14 B.28 C.56 D.112 04、有8个结点的无向连通图最少有条边。 A.5 B.6 C.7 D.8 05、有8个结点的有向完全图有条边。 A.14 B.28 C.56 D.112 06、用邻接表表示图进行广度优先遍历时,通常是采用来实现算法的。 A.栈 B.队列 C.树 D.图 07、用邻接表表示图进行深度优先遍历时,通常是采用来实现算法的。 A.栈 B.队列 C.树 D.图 08、一个含n个顶点和e条弧的有向图以邻接矩阵表示法为存储结构,则计算该有向图中某个顶点出度的时间复杂度为。 A.O(n) B.O(e) C.O(n+e) D.O(n2) 09、已知图的邻接矩阵,根据算法思想,则从顶点0出发按深度优先遍历的结点序列是。 A.0 2 4 3 1 5 6 B.0 1 3 6 5 4 2 C.0 1 3 4 2 5 6 D.0 3 6 1 5 4 2 10、已知图的邻接矩阵同上题,根据算法,则从顶点0出发,按广度优先遍历的结点序列是。 A.0 2 4 3 6 5 1 B.0 1 2 3 4 5 6 C.0 4 2 3 1 5 6 D.0 1 3 4 2 5 6 11、已知图的邻接表如下所示,根据算法,则从顶点0出发按深度优先遍历的结点序列是。 A.0 1 3 2 B.0 2 3 1 C.0 3 2 1 D.0 1 2 3 12、已知图的邻接表如下所示,根据算法,则从顶点0出发按广度优先遍历的结点序列是。 A.0 3 2 1 B.0 1 2 3 C.0 1 3 2 D.0 3 1 2 13、图的深度优先遍历类似于二叉树的。 A.先序遍历 B.中序遍历 C.后序遍历 D.层次遍历14、图的广度优先遍历类似于二叉树的。 A.先序遍历 B.中序遍历 C.后序遍历 D.层次遍历15、任何一个无向连通图的最小生成树。 A.只有一棵 B.一棵或多棵 C.一定有多棵 D.可能不存在 ( )16、对于一个具有n个结点和e条边的无向图,若采用邻接表表示,则顶点表的大小为,所有边链表中边结点的总数为。 A.n、2e B.n、e C.n、n+e D.2n、2e 17、判断有向图是否存在回路,可以利用算法。 A.关键路径 B.最短路径的Dijkstra C.拓扑排序D.广度优先遍历 18、若用邻接矩阵表示一个有向图,则其中每一列包含的“1”的个数为。 A.图中每个顶点的入度 B.图中每个顶点的出度 C.图中弧的条数 D.图中连通分量的数目 19、求最短路径的Dijkstra算法的时间复杂度是___。A.O(n) B.O(n+e) C.O(n2) D.O(n*e) 20、设图G采用邻接表存储,则拓扑排序算法的时间复杂度为。 A.O(n) B.O(n+e) C.O(n2) D.O(n*e) 21、带权有向图G用邻接矩阵A存储,则顶点i的入度等于A中。 A.第i行非∞的元素之和 B.第i列非∞的元素之和 C.第i行非∞且非0的元素个数 D.第i列非∞且非0的元素个数 22、一个有n个顶点的无向图最多有条边。 A.n B.n(n-1) C.n(n-1)/2 D.2n 23、对于一个具有n个顶点的无向图,若采用邻接矩阵表示,则该矩阵的大小是。 A.n B.(n-1)2 C.n-1 D.n2 24、对某个无向图的邻接矩阵来说,。 A.第i行上的非零元素个数和第i列的非零元素个数一定相等 B.矩阵中的非零元素个数等于图中的边数 C.第i行上,第i列上非零元素总数等于顶点v i的度数D.矩阵中非全零行的行数等于图中的顶点数 25、已知图的表示如下,若从顶点a出发按深度搜索法进行遍历,则可能得到的一种顶点序列为。

数据结构简答题打印版

数据结构简答题 简述下列术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。 解:数据是对客观事物的符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。 数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。 数据对象是性质相同的数据元素的集合,是数据的一个子集。 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 存储结构是数据结构在计算机中的表示。 数据类型是一个值的集合和定义在这个值集上的一组操作的总称。 抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。是对一般数据类型的扩展。 试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。 解:抽象数据类型包含一般数据类型的概念,但含义比一般数据类型更广、更抽象。一般数据类型由具体语言系统内部定义,直接提供给编程者定义用户数据,因此称它们为预定义数据类型。抽象数据类型通常由编程者定义,包括定义它所使用的数据和在这些数据上所进行的操作。在定义抽象数据类型中的数据部分和操作部分时,要求只定义到数据的逻辑结构和操作说明,不考虑数据的存储结构和操作的具体实现,这样抽象层次更高,更能为其他用户提供良好的使用接口。 在程序设计中,可采用下列三种方法实现输出和输入: (1) 通过scanf和printf语句; (2) 通过函数的参数显式传递; (3) 通过全局变量隐式传递。 试讨论这三种方法的优缺点。 解:(1)用scanf和printf直接进行输入输出的好处是形象、直观,但缺点是需要对其进行格式控制,较为烦琐,如果出现错误,则会引起整个系统的崩溃。 (2)通过函数的参数传递进行输入输出,便于实现信息的隐蔽,减少出错的可能。 (3)通过全局变量的隐式传递进行输入输出最为方便,只需修改变量的值即可,但过多的全局变量使程序的维护较为困难。 描述以下三个概念的区别:头指针,头结点,首元结点(第一个元素结点)。 解:头指针是指向链表中第一个结点的指针。首元结点是指链表中存储第一个数据元素的结点。头结点是在首元结点之前附设的一个结点,该结点不存储数据元素,其指针域指向首元结点,其作用主要是为了方便对链表的操作。它可以对空表、非空表以及首元结点的操作进行统一处理。 填空题。 解:(1) 在顺序表中插入或删除一个元素,需要平均移动表中一半元素,具体移动的元素个数与元素在表中的位置有关。 (2) 顺序表中逻辑上相邻的元素的物理位置必定紧邻。单链表中逻辑上相邻的元素的物理位置不一定紧邻。 (3) 在单链表中,除了首元结点外,任一结点的存储位置由其前驱结点的链域的值指示。 (4) 在单链表中设置头结点的作用是插入和删除首元结点时不用进行特殊处理。 在什么情况下用顺序表比链表好

数据结构习题21295

栈与队列练习题 一、单项选择题 1.栈和队列的共同特点是()。 A. 都是先进先出 B. 都是先进后出 C. 只允许在端点处插入和删除元素 D. 没有共同点 2.元素A,B,C,D,依次进顺序栈后,栈顶元素是(),栈底元素是()。 A. A B. B C. C D. D 3.栈操作数据的原则是()。 A. 先进先出 B. 后进先出 C. 后进后出 D. 分顺序 4.经过以下栈运算后,x的值是()。 InitStack(s);Push(s,a);Push(s,b);Pop(s,x);Gettop(s,x) A. a B. b C. 1 D. 0 5.设一个栈的输入序列为A,B,C,D,则借助一个栈所得到的输出序列不可能是()。 A. ABCD B. DCBA C. ACDB D. DABC 6.已知一个栈的进栈序列是1,2,3,…,n,其输出序列是p1,p2,…pn,若P1等于n,则pi 的值() A. i B. n-i C. n-i+1 D. 不确定 7.设n个元素进栈序列是1,2,…,n,其输出序列是p1,p2,…,pn,若p1=3,则p2的值()。 A. 可能是2 B. 一定是2 C. 可能是1 D.一定是1 8.经过以下队列运算后,队头的值是() InitQueue(qu);enQueue(qu,a);enQueue(qu,b);enQueue(qu,c);deQueue(qu) A. a B. b C. 1 D. 0 9.经过以下队列运算后,QueueEmpty(q)的值是() InitQueue(qu);enQueue(qu,a);enQueue(qu,b);deQueue(qu,x);deQueue(qu,y) A. a B. b C. 1 D. 0 10.元素A,B,C,D顺序连续进入队列qu后,队头元素是(),队尾元素是()。 A. A B. B C. C D. D 11.设循环队列中数组的下标是0~N-1,其头尾指针分别为f和r,则其元素个数为()。 A. r-f B. R-f-1 C. (r-f)%N+1 D. (r-f+N)%N -精品

数据库应用技术形考任务答案

形考任务一 题目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 在数据库的三级模式中,描述数据库中全体数据的逻辑结构和特征的是()。 选择一项: a. 内模式 b. 模式 c. 外模式 d. 其他 题目7 在用数据模型描述数据时,一般要求数据模型要满足三个要求。下列描述中,不属于数据模型应满足的要求的是()。 选择一项: a. 能够描述并发数据 b. 能够真实地模拟现实世界 c. 容易被业务人员理解 d. 能够方便地在计算机上实现 题目8

(完整word版)2017《数据结构》期末考试试题及答案 (2)

2017《数据结构》期末考试试题及答案 《数据结构》期末考试试题及答案 1 (2) 试题1答案 (7) 《数据结构》期末考试试题及答案 2 (9) 试题2答案 (14) 《数据结构》期末考试试题及答案 3 (16) 试题3答案 (21)

《数据结构》期末考试试题及答案 1 一、单选题(每题 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.2k-1 B.2K+1 C.2K-1 D. 2k-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的元素有()个,

数据结构简答题复习过程

数据结构简答题

试比较顺序存储结构和链式存储结构的优缺点。在什么情况下用顺序表比链表好? 答:①顺序存储时,相邻数据元素的存放地址也相邻(逻辑与物理统一);要求内存中可用存储单元的地址必须是连续的。 优点:存储密度大(=1),存储空间利用率高。缺点:插入或删除元素时不方便。 ②链式存储时,相邻数据元素可随意存放,但所占存储空间分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针 优点:插入或删除元素时很方便,使用灵活。缺点:存储密度小(<1),存储空间利用率低。顺序表适宜于做查找这样的静态操作;链表宜于做插入、删除这样的动态操作。 若线性表的长度变化不大,且其主要操作是查找,则采用顺序表; 若线性表的长度变化较大,且其主要操作是插入、删除操作,则采用链表。 一棵度为2的有序树与一棵二叉树有何区别? 答:一棵度为二的有序树与一棵二叉树的区别在于:有序树的结点次序是相对于另一结点而言的,如果有序树中的子树只有一个孩子时,这个孩子结点就无须区分其左右次序. 而二叉树无论其孩子数是否为2,均需确定其左右次序,也就是说二叉树的结点次序不是相对于另一结点而言而是确定的。

简述下列术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。 数据是对客观事物的符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。 数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。数据对象是性质相同的数据元素的集合,是数据的一个子集。 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 存储结构是数据结构在计算机中的表示。 数据类型是一个值的集合和定义在这个值集上的一组操作的总称。 抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。是对一般数据类型的扩展。 试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。

相关文档
最新文档