数据结构形考简答题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构形考简答题

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 最先的次序有哪几个

从题中可知,要使C第一个且D第二个出栈,应是A入栈,B入栈,C入栈,C出栈,D入栈。之后可以有以下几种情况:

(1)B出栈,A出栈,E入栈,E出栈,输出序列为:CDBAE。

(2)B出栈,E入栈,E出栈,A 出栈,输出序列为CDBEA。

(3)E入栈,E出栈,B出栈,A出栈,输出序列为CDEBA

所以可能的次序有:CDBAE,CDBEA,CDEBA

4.简述广义表和线性表的区别和联系。

广义表是线性表的的推广,它也是n(n>0)个元素a1,a2,…,ai,…,an的有限序列,其中ai或者是原子或者是一个广义表。所以,广义表是一种递归数据结构,而线性表没有这种特性,线性表可以看成广义表的特殊情况,当ai都是原子时,广义表退化成线性表。

相关文档
最新文档