数据构造c语言版课后习题答案完好版.docx
《数据构造c语言版课后习题答案完好版.docx》由会员分享,可在线阅读,更多相关《数据构造c语言版课后习题答案完好版.docx(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据构造c语言版课后习题答案完好版第1章绪论5选择题:CCBDCA6试分析下面各程序段的时间复杂度。1O12Om*n3On24Olog3n5由于x+共执行了n-1+n-2+1=n(n-1)/2,所以执行时间为On26O(n)第2章线性表1选择题babadbcabdcddac2算法设计题6设计一个算法,通过一趟遍历在单链表中确定值最大的结点。ElemTypeMax(LinkListL)if(L-next=NULL)returnNULL;pmax=L-next;/假定第一个结点中数据具有最大值p=L-next-next;while(p!=NULL)/假如下一个结点存在if(p-datapmax-d
2、ata)pmax=p;p=p-next;returnpmax-data;7设计一个算法,通过遍历一趟,将链表中所有结点的链接方向逆转,仍利用原表的存储空间。voidinverse(LinkList&L)/逆置带头结点的单链表Lp=L-next;L-next=NULL;while(p)q=p-next;/q指向*p的后继p-next=L-next;L-next=p;/*p插入在头结点之后p=q;10已知长度为n的线性表A采用顺序存储构造,请写一时间复杂度为O(n)、空间复杂度为O(1)的算法,该算法删除线性表中所有值为item的数据元素。题目分析在顺序存储的线性表上删除元素,通常要涉及到一系列元
3、素的移动删第i个元素,第i+1至第n个元素要依次前移。此题要求删除线性表中所有值为item的数据元素,并未要求元素间的相对位置不变。因而能够考虑设头尾两个指针i=1,j=n,从两端向中间移动,凡碰到值item的数据元素时,直接将右端元素左移至值为item的数据元素位置。voidDeleteElemTypeA,intnA是有n个元素的一维数组,本算法删除A中所有值为item的元素。i=1;j=n;设置数组低、高端指针下标。whileiintIsHuiwen(char*t)/判定t字符向量能否为回文,若是,返回1,否则返回0SeqStacks;inti,len;chartemp;InitStack
4、(len=strlen(t);/求向量长度for(i=0;i当前位置:文档视界数据构造c语言版课后习题答案完好版数据构造c语言版课后习题答案完好版第4章串、数组和广义表1选择题BBCABBBCBBABDCBC2.综合应用题1已知形式串t=abcaabbabcab写出用KMP法求得的每个字符对应的next和nextval函数值。形式串t的next和nextval值如下:到9,列下标从1到11,从首地址S开场连续存放主存储器中,主存储器字长为16位。求:存放该数组所需多少单元?存放数组第4列所有元素至少需多少单元?数组按行存放时,元素A7,4的起始地址是多少?数组按列存放时,元素A4,7的起始地址
5、是多少?每个元素32个二进制位,主存字长16位,故每个元素占2个字长,行下标可平移至1到11。12422223s+1824s+142(4)请将香蕉banana用工具H()Head(),T()Tail()从L中取出。L=(apple,(orange,(strawberry,(banana),peach),pear)HHTHTHTL5写一个算法统计在输入字符串中各个不同字符出现的频度并将结果存入文件字符串中的合法字符为A-Z这26个字母和0-9这10个数字。voidCount/统计输入字符串中数字字符和字母字符的个数。inti,num36;charch;fori0;i第5章树和二叉树1选择题ADD
6、CACCBDCCCACC2应用题2设一棵二叉树的先序序列:ABDFCEGH,中序序列:BFDAGEHC画出这棵二叉树。画出这棵二叉树的后序线索树。将这棵二叉树转换成对应的树或森林。(1)(2)3假设用于通信的电文仅由8个字母组成,字母在电文中出现的频率分别为0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10。试为这8个字母设计赫夫曼编码。试设计另一种由二进制表示的等长编码方案。对于上述实例,比拟两种方案的优缺点。解:方案1;哈夫曼编码先将概率放大100倍,以方便构造哈夫曼树。w=7,19,2,6,32,3,21,10,按哈夫曼规则:【2,3,6,(7,10)】,19
7、,21,3210040601921322817117106523方案比拟:elseif(T-lchild=NULL&T-rchild=NULL)return1;/判定该结点能否是叶子结点左孩子右孩子都为空,若是则返回1elsereturnLeafNodeCount(T-lchild)+LeafNodeCount(T-rchild);3交换二叉树每个结点的左孩子和右孩子。voidChangeLR(BiTree&T)ABMFD(3)CEMHGBiTreetemp;if(T-lchild=NULL&T-rchild=NULL)return;elsetemp=T-lchild;T-lchild=T-r
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 构造 语言版 课后 习题 答案 完好
限制150内