数据结构作业题目答案

数据结构作业题目答案

ID:16470270

大小:350.28 KB

页数:14页

时间:2018-08-10

数据结构作业题目答案_第1页
数据结构作业题目答案_第2页
数据结构作业题目答案_第3页
数据结构作业题目答案_第4页
数据结构作业题目答案_第5页
资源描述:

《数据结构作业题目答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一、单择题1.栈和队列的共同特点是(A)。A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点2.二叉树的第k层的结点数最多为(2k-1)。A.2k-1B.2K+1C.2K-1D.2k-13.数据结构中,从逻辑上可以把数据结构分成(C)。A.动态结构和静态结构B.进凑结构和非进凑结构C.线性结构和非线性结构D.内部结构和外部结构4.设二叉树的先序遍历序列和后序遍历序列正好相反,则该二树满足的条件是(b)。相同的话则选a.A.空或只有一个结点B.高度等于其结点数C.任一结点无左孩子D.任一结点无右孩子5.

2、设顺序线性表中有n个数据元素,则删除表中第i个元素需要移动(A)个元素。A.n-iB.n+l-iC.n-1-iD.i6.判定一个栈ST(最多元素为m0)为空的条件是(B)。A.ST→TOP!=0B.ST→TOP==0C.ST→TOP!=m0D.ST→TOP==m07.非空的循环单链表head的尾结点(由P所指向)满足(C)。A.p->next=NULLB.p=NULLC.p->next=headD.p=head8.在线性结构中,所有结点都有(B)个直接后继。A.0B.0或1C.1D.不确定9.设数组A[m]作为循环队列sq的存储

3、空间,front为队头指针,rear为队尾指针,则执行入队操作时修改指针的语句是C。A、sq.front=(sq.front+1)%mB、sq.front=(sq.front+1)%(m+1)C、sq.rear=(sq.rear+1)%mD、sq.rear=(sq.rear+1)%(m+1)二、填空题1.已知一棵二叉树的中序序列和后序序列分别为:DBGEACHF和DGEBHFCA,则该二叉树的前序序列是(ABDEGCFH)。2.在(循环)链表中,从任何一结点出发都能访问到表中的所有结点。3.以下函数的时间复杂度为(O(n))。f

4、act(intn){if(n<=1)return1;elsereturn(n*fact(n-1));}4.在线索化二叉树中,t所指结点没有左子树的充要条件是t->Ltag==(1或true)。5.现有按中序遍历二叉树的结果为abc,问有(5)种不同形态的二叉树可以得到这一遍历结果。6.如图所示,删除元素b的语句为(q->next=q->next->next).三、应用题1.给出下面森林对应的二叉树及二叉树的后序序列。2.已知二叉树的先序、中序和后序序列如下:前序序列:*BC***G*中序序列:CB*EAGH*后序序列:*EDB*

5、*FA,其中有一些看不清的字母用*表示。(1)请先补充*处的字母.(2)再构造一棵符合条件的二叉树(3)最后画出带头结点的中序线索链表。答案:3.有一个含头结点的单链表,头指针为A,另有一个不含头结点的单链表,头指针为B。(1)分别写出判断A为空和B为空的条件。(2)假设S指向一个新结点,分别写出在A的表头插入S,和在B的表头插入S的语句。1.设A~H8个字符出现的概率为:W={0.10,0.16,0.01,0.02,0.29,0.10,0.07,0.25}。设计最优二进制编码(用0,1编码)(1)画出最优二叉树(2)计算平均码

6、长(二叉树的带权路径长度)。5.线性表有两种存储结构一是顺序表,二是链表。试问(1)如果有n个线性表同时并存,并且在处理过程中各表的长度会动态变化,线性表的总数也会自动地改变。在此情况下,应选用哪种存储结构?为什么?(2)若线性表的总数基本稳定,且很少进行插入和删除,但要求以最快的速度存取线性表中的元素,那么应采用哪种存储结构?为什么?答:(1)选链式存储结构。它可动态申请内存空间,不受表长度(即表中元素个数)的影响,插入、删除时间复杂度为O(1)。(2)选顺序存储结构。顺序表可以随机存取,时间复杂度为O(1)。6.循环队列的优

7、点是什么?如何判别它的空和满?答:优点:循环队列克服了“假上溢”现象。  判别空和满:设有循环队列sq,以(sq->rear+1)%MaxSize==sq->front或sq->count==MaxSize来判别队满;以sq->rear==sq->front来判别队空四、编程题1、已知顺序表结构体定义如下:#defineMAXLEN100typedefstruct{intdata[MAXLEN];intlast;}SeqList;在顺序表L的第i个位置上插入值为x的元素的函数定义如下:intInsList(SeqList*L,i

8、nti,intx){……//(1)函数代码空缺部分}要求:将“(1)函数代码空缺部分”的内容,在下面空白处填写完整,其中顺序表满,返回-1;插入位置错误,返回0;正常完成数据插入返回1。2、已知链队列元素的结构体定义如下:typedefstructNode{in

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。