- 1、本文档共166页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(0012)《数据结构》复习思考题答案
1:[论述题]
1、算法的时间复杂度仅与问题的规模相关吗?
2、
下列程序段带标号语句的频度和时间复杂度。( 1 ) I=0;????while (IN)(A[I]!=K)??????I++; //语句3????return(I);( 2 ) n为不小于1的整数(设k的初值等于1)void pp ( int k)??{ ????if (k==n) //语句1????for (I=0; I语句2????????printf(a[I]); //语句3????else ????{ for (I=k-1;I语句4????????a[I]=a[I]+I; //语句5????????pp(k+1); //语句6????}????}//pp
3、常用的存储表示方法有哪几种?
??参考答案:
1、不,事实上,算法的时间复杂度不仅与问题的规模相关,还与输入实例中的元素取值等相关,但在最坏的情况下,其时间复杂度就是只与求解问题的规模相关的。我们在讨论时间复杂度时,一般就是以最坏情况下的时间复杂度为准的。
2、
(1)这个算法完成在一维数组a[n]中查找给定值k的功能。语句三的频度不仅与问题的规模n有关,还与输入实例中a的各元素取值以及k的取值相关,即与输入实例的初始状态复杂有关。若a中没有与k相等的元素,则语句三的频度为n;若a中的第一个元素a[0]等于k,则语句三的频度是常数0。在这种情况下,可用最坏情况下的时间复杂度作为时间复杂度。在此例中即为O(n)。这样做的原因是:最坏情况下的时间复杂度是在任何输入实例上运行时间的上界。有时,也可能选择将算法的平均(或期望)时间复杂度作为讨论目标。所谓的平均时间复杂度是指所有可能的输入实例以等概率出现的情况下算法的期望运行时间与问题规模的数量级的关系。此例中,以k出现在任何位置的概率相同,都为1/n,则语句三的执行频度为[0+1+2+…+(n-1)]/n=(n-1)/2。它决定了此程序段的平均时间复杂度的数量级为f(n)=n,记作O(n)。
(2)在计算包含调用语句的算法的语句频度时,需考虑到调用发生时在被调用算法中各语句的执行情况。本题所示的递归调用较之非递归调用的分析更为复杂。由于k等于n是算法的出口条件,不妨首先分析算法pp(n)的简单情况,这时各语句的执行频度分别为:1,n+1,n,0,0,0; 而当k=n-1,n-2,…,1时,语句的执行情况和调度情况,如下表所示。
K 值
不考虑调用时各语句的执行频度
调用情况
语句1
语句2
语句3
语句4
语句5
语句6
n
1
n+1
n
0
0
0
/
n-1
1
0
0
3
2
1
pp(n)
n-2
1
0
0
4
3
1
pp(n-1)
…
…
…
…
…
…
…
…
1
1
0
0
n+1
n
1
pp(2)
对于k=1即pp(1)而言,各语句的执行次数还须将调用pp(2)时的执行次数累计到内,pp(2)各语句的执行次数又须将调用pp(3)时执行次数累计到内,……由此可的语句频度如下:语句1:1+1+…+1=n语句2:0+0+…+0+(n+1)=n+1语句3:0+0+…+0+n=n语句4:(n+1)+n+…+3=(n-1)(n+4)/2语句5:n+(n-1)+…+2=(n-1)(n+2)/2语句6:1+1+….+1+0=n-1算法的时间复杂度可以基于频度最大的语句,应为O(n2)。
4、
常用的存储表示方法有四种:顺序存储方法:它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现。由此得到的存储表示称为顺序存储结构。链接存储方法:它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。由此得到的存储表示称为链式存储结构。索引存储方法:除建立存储结点信息外,还建立附加的索引表来标识结点的地址。散列存储方法:就是根据结点的关键字直接计算出该结点的存储地址。
?
1:[论述题]
1、何时选用顺序表、何时选用链表作为线性表的存储结构为宜?
2、为什么在单循环链表中设置尾指针比设置头指针更好?
3、确定下列算法中输出语句的执行次数,并给出算法的时间复杂度。(1) void combi (int n){??int I,j,k;????for ( I=1; I=n; I++)??????for ( j=I+1; j=n; j++)????????for ( k=j+1; k=n; k++)??????????coutI,J,K;} st1:citation(2) void binary ( int n){??while(n){????coutN;??
您可能关注的文档
- 终娱乐圈大事盘点.doc
- 种植、养殖生态项目.doc
- 重庆理工大学大学物理III()试卷B.doc
- 重庆市中考物理试题(A卷Word版).doc
- 周例会-余贵彬-框架搭建.pptx
- 铸造工程师考前培训参考大纲及考试大纲.docx
- 铸造合金项目可行性研究报告(目录).doc
- 专业技术人员创新与创业能力建设(月7日)(94分).doc
- 专业技术人员公需科目《电子商务》试题.doc
- 专业技术人员执行力与创新服务力答案.docx
- DB23_T 3866-2024冰上龙舟赛事组织服务规范.docx
- DB32 2163-2012 棉纱单位可比综合电耗限额及计算方法.docx
- DB32∕T 2429-2013 棉花田间生长发育观察记载规范.docx
- DB23_T 3820-2024 工业互联网综合平台数据质量管理规范.docx
- DB23_T 3474-2023非煤智慧矿山信息系统技术规范.docx
- DB3201_T 1106-2022 工程地质层划分技术规范.docx
- DB33T 2515-2022公共机构“零碳”管理与评价规范.docx
- DB3301_T 0415-2023 装修垃圾收运处置管理规范.docx
- DB3311/T 106―2019“丽水山居”民宿服务要求与评价规范.docx
- DB3201T 1127-2022 慈善捐赠受赠管理规范.docx
最近下载
- 亿赛通电子文档安全管理系统V5.0--客户端使用手册V1113379.pdf VIP
- [标准规范]煤矿窄轨铁道维修质量标准及检查评级办法(精编).doc VIP
- 人教统编版小升初语文总复习专题七:句式变换课件(共28张PPT).ppt VIP
- 2025重庆永川区板桥镇村(社区) 后备干部选拔笔试备考试题及答案解析.docx VIP
- 深度解析《GBT 44026-2024预制舱式锂离子电池储能系统技术规范》.pptx
- 品质部各岗位职责说明书.pdf VIP
- 2022.01 深圳南山红花岭工业区城市更新项目一期建筑方案设计 华艺.pdf VIP
- 电冰箱安全技术规程培训.pptx VIP
- 07FK02 防空地下室 通风设备安装.pdf VIP
- 解决我国农民负担问题的路线图设想-中国发展.pdf
文档评论(0)