- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE 19
《算法与数据结构》第1-6章课堂测验(双号)
一、选择题
1、已知一个栈的进栈序列是1,2,3,…,n,其输出序列是p1,p2,…,pn,若p1=n,则pi的值。( c )
(A) i (B) n-i
(C) n-i+1 (D) 不确定
2、设n个元素进栈序列是1,2,3,…,n,其输出序列是p1,p2,…,pn,若p1=3,则p2的值。( c )
(A) 一定是2 (B) 一定是1
(C) 不可能是1 (D) 以上都不对
3、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( b )
A.6 B.11 C.15 D.不确定
4、在下述结论中,正确的是( d )
①只有一个结点的二叉树的度为0;
②二叉树的度为2;
③二叉树的左右子树可任意交换;
④深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。
A.①②③ B.②③④ C.②④ D.①④
5、一棵树高为K的完全二叉树至少有()个结点。( a )
A.2k –1 B.2k-1 +1 C.2k-1 D.2k
二、简答题
简述下列术语:线性表,顺序表,链表。
线性表:最常用且最简单的一种数据结构。一个线性表是n个数据元素的有限序列。
顺序表:是指用一组连续的存储单元一次存储线性表中的数据元素。物理结构和逻辑结构都相邻。
链表:逻辑结构相邻的数据元素物理结构不一定相邻。采用指针的形式连接起来。
2 何时选用顺序表,何时选用链表作为线性表的存储结构合适?各自的主要优缺点是什么?
不需要经常大量的修改表或需要随机存取的情况下可以选用顺序表;
相反需要经常大量的修改表,但不是频繁的随机存取的情况下可选用链式表。
3链表所表示的元素是否有序?如有序,则有序性体现于何处?链表所表示的元素是否一定要在物理上是相邻的?有序表的有序性又如何理解?
答:有序。有序性体现在通过指针数据元素有序的相连。物理上不一定要相邻。
4设A和B是两个按元素值递增有序的单链表,写一算法将A和B归并为按按元素值递减有序的单链表C,试分析算法的时间复杂度。
void ListInsert(SqList A,SqList B,SqList C)
{
ElemType *p,*q,*s;
P=A;
q=B;
s=C;
while(p.next!=NULL||q.next!=NULL)
{
if(p.next.data=q.next.data)
{
if(s.next!=NULL)
p.next=s.next;
s.next=p.next;
p++;
}
else
{
if(s.next!=NULL)
q.next=s.next;
s.next=q.next;
q++;
}
}
while(p.next!=NULL)
{
p.next=s.next;
s.next=p.next;
}
while(q.next!=NULL)
{
q.next=s.next;
s.next=q.next;
}
4、例:什么是队列的上溢现象和假溢出现象?解决它们有哪些方法?
答:在队列的顺序存储结构中,设头指针为front,队尾指针rear,队的容量(存储空间的大小)为MaxSize。当有元素加入到队列时,若rear=MaxSize(初始时rear=0)则发生队列的上溢现象,该元素不能加入队列。 特别要注意的是队列的假溢出现象:队列中还有剩余空间但元素却不能进入队列,造成这种现象的原因是由于队列的操作方法所致。
解决队列上溢的方法有以下几种:1)建立一个足够大的存储空间,但这样做会造成空间的使用效率降低。(2)当出现假溢出时可采用以下几种方法: ①采用平移元素的方法:每当队列中加入一个元素时,队列中已有的元素向队头移动一个位置(当然要有空闲的空间可供移动);②每当删除一个队头元素时,则依次移动队中的元素,始终使front指针指向队列中的第一个位置; ③采用环形队列方式:把队列看成一个首尾相接的环形队列,在环形队列上进行插入或删除运算时仍然遵循“先进先出”的原则。”
5、例:对于顺序队列来说,如果知道队首元素的位置和队列中元素个数,则队尾元素所在位置显然是可以计算的。也就是说,可以用队列中元素个数代替队尾指针。编写出这种循环顺序队列的初始化、入队、出队和判空算法。
解: 当已知队首元素的位置front和队列中元素个数count后:
队空的条件为:count==0
队满的条件为
您可能关注的文档
最近下载
- QB∕T 5728-2022 阿胶糕 QB∕T 5728-2022 阿胶糕.pdf
- 第6课 个性水杯展风采(说课稿)2023-2024学年五年级下册信息技术闽教版[001].docx
- 2025届黑龙江省哈尔滨第三中学校高三下学期第二次模拟考试数学试题+答案.docx
- 人教版数学二年级下册《第7单元 万以内数的认识》全单元教学课件PPT小学公开课.pptx
- 第6课 个性水杯展风采(说课稿)2023-2024学年五年级下册信息技术闽教版.docx VIP
- 闽教版信息技术五年级下册《第一单元 三维趣味设计 6 个性水杯展风采》说课稿.docx
- 《个性水杯展风采》说课稿与评价 五年级下册闽教版.docx
- 2025年长春信息技术职业学院单招职业技能考试题库完整.docx
- 新版--江苏省建设工程监理现场用表(第五版).pdf VIP
- 高考作文模拟写作:”一条河流曲折向前,不只是为了抵达大海,也是为了流经更多的土地”写作指导及范文展示.docx
文档评论(0)