欢迎来到天天文库
浏览记录
ID:13643539
大小:126.50 KB
页数:28页
时间:2018-07-23
《数据结构(本科)期末综合练习四(算法分析题).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据结构(本科)期末综合练习四(算法分析题)1.指出算法的功能并求出其时间复杂度。intfun(intn){inti=1,s=1;while(s2、=0;jvoidunknown(TA[],intn){intfree=0;for(inti=0;i3、++;}}算法执行的结果284.设顺序表SeqList具有下列操作:intLength()const;//计算表长度并返回,若表为空则返回0TRemove();//删除当前表项并返回其值,置下一表项为当前表项TFirst();//取表中第一个表项的值并返回,并置为当前表项TNext();//取当前表项后继表项的值并返回,//并把此后继表项置为当前表项若顺序表中存放的数据为{29,38,47,16,95,64,73,83,51,10,0,26},表的长度为12,参数值s=10,t=30,说明算法执行后顺序表的4、状态和长度的变化。#include#include“SeqList.h”templatevoidunknown(SeqList&L,Ts,Tt){if(!L.Length()5、6、s>=t){cerr<<“表为空或参数值有误!”<=s&&temp<=t)L.Remove();else{temp=L.Next();i++;}}算法执行后顺7、序表中的数据:算法执行后顺序表的长度:5.设字符串String具有下列操作:intLength()const;//计算字符串的长度chargetData(k);//提取字符串第k个字符的值若字符串Tar的值为“ababcabcacbab”,Pat的值为“abcac”时,给出算法执行后函数返回的结果。#include“String.h”intunknown(String&Tar,String&Pat)const{for(inti=0;i<=Tar.Length()–Pat.Length();i++){intj8、=0;while(jlink9、;while(p){if(p&&___(1)___){q=p;p=p->link;}else{q->link=___(2)___;delete(p);p=___(3)___;}}//while}//purge_linkst(1)(2)(3)7.设单链表的存储结构为ListNode=(data,link),表头指针为LH,所存线性表L=(‘a’,’b’,’c’,’d’,’e’,’f’,’g’),若执行unknown(LH)调用下面程序,则写出执行结束后的输出结果。voidunknown(LinkNode*Ha10、){//Ha为指向单链表的头指针if(Ha){unknown(Ha->link);cout<data;}}8.设单链表结点的结构为LNode=(data,link),阅读下面的函数,指出它所实现的功能。intAA(LNode*Ha){//Ha为指向带表头附加结点的单链表的表头指针intn=0;LNode*p=Ha->link;while(p){n++;p=p->link;}return(n);28}算法
2、=0;jvoidunknown(TA[],intn){intfree=0;for(inti=0;i3、++;}}算法执行的结果284.设顺序表SeqList具有下列操作:intLength()const;//计算表长度并返回,若表为空则返回0TRemove();//删除当前表项并返回其值,置下一表项为当前表项TFirst();//取表中第一个表项的值并返回,并置为当前表项TNext();//取当前表项后继表项的值并返回,//并把此后继表项置为当前表项若顺序表中存放的数据为{29,38,47,16,95,64,73,83,51,10,0,26},表的长度为12,参数值s=10,t=30,说明算法执行后顺序表的4、状态和长度的变化。#include#include“SeqList.h”templatevoidunknown(SeqList&L,Ts,Tt){if(!L.Length()5、6、s>=t){cerr<<“表为空或参数值有误!”<=s&&temp<=t)L.Remove();else{temp=L.Next();i++;}}算法执行后顺7、序表中的数据:算法执行后顺序表的长度:5.设字符串String具有下列操作:intLength()const;//计算字符串的长度chargetData(k);//提取字符串第k个字符的值若字符串Tar的值为“ababcabcacbab”,Pat的值为“abcac”时,给出算法执行后函数返回的结果。#include“String.h”intunknown(String&Tar,String&Pat)const{for(inti=0;i<=Tar.Length()–Pat.Length();i++){intj8、=0;while(jlink9、;while(p){if(p&&___(1)___){q=p;p=p->link;}else{q->link=___(2)___;delete(p);p=___(3)___;}}//while}//purge_linkst(1)(2)(3)7.设单链表的存储结构为ListNode=(data,link),表头指针为LH,所存线性表L=(‘a’,’b’,’c’,’d’,’e’,’f’,’g’),若执行unknown(LH)调用下面程序,则写出执行结束后的输出结果。voidunknown(LinkNode*Ha10、){//Ha为指向单链表的头指针if(Ha){unknown(Ha->link);cout<data;}}8.设单链表结点的结构为LNode=(data,link),阅读下面的函数,指出它所实现的功能。intAA(LNode*Ha){//Ha为指向带表头附加结点的单链表的表头指针intn=0;LNode*p=Ha->link;while(p){n++;p=p->link;}return(n);28}算法
3、++;}}算法执行的结果284.设顺序表SeqList具有下列操作:intLength()const;//计算表长度并返回,若表为空则返回0TRemove();//删除当前表项并返回其值,置下一表项为当前表项TFirst();//取表中第一个表项的值并返回,并置为当前表项TNext();//取当前表项后继表项的值并返回,//并把此后继表项置为当前表项若顺序表中存放的数据为{29,38,47,16,95,64,73,83,51,10,0,26},表的长度为12,参数值s=10,t=30,说明算法执行后顺序表的
4、状态和长度的变化。#include#include“SeqList.h”templatevoidunknown(SeqList&L,Ts,Tt){if(!L.Length()
5、
6、s>=t){cerr<<“表为空或参数值有误!”<=s&&temp<=t)L.Remove();else{temp=L.Next();i++;}}算法执行后顺
7、序表中的数据:算法执行后顺序表的长度:5.设字符串String具有下列操作:intLength()const;//计算字符串的长度chargetData(k);//提取字符串第k个字符的值若字符串Tar的值为“ababcabcacbab”,Pat的值为“abcac”时,给出算法执行后函数返回的结果。#include“String.h”intunknown(String&Tar,String&Pat)const{for(inti=0;i<=Tar.Length()–Pat.Length();i++){intj
8、=0;while(jlink
9、;while(p){if(p&&___(1)___){q=p;p=p->link;}else{q->link=___(2)___;delete(p);p=___(3)___;}}//while}//purge_linkst(1)(2)(3)7.设单链表的存储结构为ListNode=(data,link),表头指针为LH,所存线性表L=(‘a’,’b’,’c’,’d’,’e’,’f’,’g’),若执行unknown(LH)调用下面程序,则写出执行结束后的输出结果。voidunknown(LinkNode*Ha
10、){//Ha为指向单链表的头指针if(Ha){unknown(Ha->link);cout<data;}}8.设单链表结点的结构为LNode=(data,link),阅读下面的函数,指出它所实现的功能。intAA(LNode*Ha){//Ha为指向带表头附加结点的单链表的表头指针intn=0;LNode*p=Ha->link;while(p){n++;p=p->link;}return(n);28}算法
此文档下载收益归作者所有