数据构造(c语言版)课后习题答案完好版资料.docx
《数据构造(c语言版)课后习题答案完好版资料.docx》由会员分享,可在线阅读,更多相关《数据构造(c语言版)课后习题答案完好版资料.docx(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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-datapm
2、ax-data)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;设置数组低、高端指针下标。whilei根据提示,算法可设计为:/下面为顺序栈的存储构造定义#defineStackSize100/假定预分配的栈空间最多为100个元素typedefcharDat
4、aType;/假定栈元素的数据类型为字符typedefstructDataTypedataStackSize;inttop;SeqStack;intIsHuiwen(char*t)/判定t字符向量能否为回文,若是,返回1,否则返回0SeqStacks;inti,len;chartemp;InitStack(len=strlen(t);/求向量长度for(i=0;i当前位置:文档视界数据构造(c语言版)课后习题答案完好版资料数据构造(c语言版)课后习题答案完好版资料Type*Q;/存放队列元素的数组intm;/队列最大可包容元素个数构造函数templateQueue:Queue(intsz):r
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 构造 语言版 课后 习题 答案 完好 资料
限制150内