- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
算法设计与分析-期末考试题整理
1、一个算法应有哪些主要特征?
又穷性,确定性,可行性,0个或多个输入,一个或多个输出
2、分治法(DivideandConquer)与动态规划(DynamicProgramming)有什么不同?
分治算法会重复的求解公共子问题,会做许多不必要的工作,而动态规划对每个子问题之求解一次,将其结果存入一张表中,从而避免了每次遇到各个子问题有从新求解。
3、试举例说明贪心算法对有的问题是有效的,而对一些问题是无效的。
贪心算有效性:最小生成树、哈弗曼、活动安排、单元最短路径。
无效反例:0——1背包问题,无向图找最短路径问题。
4、求解方程f(n)=f(n-1)+f(n-2),f(1)=f(2)=1。
由f(n)=f(n-1)+f(n-2)可得
f(n)-f(n-1)-f(n-2)=0,可得方程的特征方程为
x2-x-1=0,设特征方程的2个根本分别为x,x?,则可得
,则有
又f(1)=f(2)=1可得
可得c?=a,c?=b
5、求解方程T(n)=2T(n/2)+1,T(1)=1,设n=2。
T(n)=2T(n/2)+1
2T(n/2)=22T(n/22)+2
22T(n122)=23T(n/23)+22
2?-T(n/2?-|)=2^T(n/2*)+2?-1
上面所有式子相加,相消得
T(n)=2^T(1)+2?+21+22+……+2-
=2+1-1
6、编写一个QuickSorting算法,并分析时间复杂性。
intpart(int*a,intp,intr){
intij,x,t;
x=a[r];
i=p-1;
for(j=p;j=r-1;j++){
if(a[j]=x){
i++;
t=a[i];
a[i]=a[j];
a[j]=t;
t=a[i+1];
a[i+1]=a[r];
a[r]=t;
returni+1;
voidquicksort(int*a,intp,intr){
intq;
if(pr){
q=part(a,p,r);
quicksort(a,p,q-1);
quicksort(a,q+1,r);
快速排序时间复杂度最坏情况为O(n2),平均为O(nlogn);
7、利用QuickSorting的原理,编写一个查找第k小元素的算法。
K不能大于数的长度。
intpart(int*a,intp,intr){
inti,j,x,t;
x=a[r];
i=p-1;
for(j=p;j=r-1;j++){
if(a[j]=x){
i++;
t=a[i];
a[i]=a[j];
a[j]=t;
t=a[i+1];
a[i+1]=a[r];
a[r]=t;
returni+1;
intk_last(int*a,inti,intj,intk){
intmid;
mid=part(a,i,j);
if((mid+1)==k){
printf(Right\n);
returna[mid];
elseif((mid+1)k)returnk_last(a,i,mid-1,k);
elseif((mid+1)k)returnk_last(a,mid+1,j,k);
8、编写一个HeapSorting算法,并分析时间复杂性。
voidmax_heapify(int*A,inti){
intlargest,t,I,r;
1=2*i;r=2*i+1;
if(l=heap_sizeAA[l]A[i])largest=l;elselargest=i;
if(r=heap_sizeAA[r]A[largest])largest=r;
if(largest!=i){
t=A[i];
A[i]=A[largest];
A[largest]=t
max_heapify(A,largest);
//保持最大堆性质
}
//建堆voidbuild_max_heap(int
//建堆
inti;
heap_sizeA=lenth;
for(i=lenth/2;i=1;i--){
max_heapify(A,i);
}
heapsort(int*A,intlenth){
inti,t;
build_max_heap(A,lenth);
for(i=lenth;i=2;i--){
t=A[1];
A[1]=A[i];
A[i]=t;
heap_sizeA--;
max_heapify(A,1);
}
9、编写一个算法,可以检测一个字符串是否回文(如:afaddafa,abwba等)。
intfun(c
您可能关注的文档
- 人工智能期末考试题及答案.docx
- 第8章-最优消费投资决策连续时间解析.ppt
- 2019-2020学年江苏南京鼓楼区五年级下册语文期末试卷及答案.pdf
- 2019-2020学年广东省广州市海珠区部编版小学三年级下册语文期末试题及答案.pdf
- 2019年山东潍坊市事业单位招聘真题及答案解析.pdf
- 2020-2021学年江苏省徐州市沛县译林版三年级下册期末测试英语试卷及答案.pdf
- 2019年天津公务员行测考试真题及答案.pdf
- 2021年浙江湖州中考道德与法治真题及答案.pdf
- 2019-2020学年广东省广州市天河区部编版小学三年级下册语文期末试题及答案.pdf
- 2019年初级社会工作者工作实务真题及答案.pdf
- 2021-2022学年湖南省常德市安乡县四年级上学期期中语文真题及答案.pdf
- 2023-2024学年河南省南阳市社旗县四年级上学期期中数学真题及答案.pdf
- 2022-2023学年云南省曲靖市四年级下学期期末数学真题及答案.pdf
- 2021-2022学年河南省周口市鹿邑县二年级下册月考语文真题及答案.pdf
- 2018年河南焦作解放区教师招聘考试真题及答案.pdf
- 2019年江西公务员行测考试真题及答案-乡镇.pdf
- 2019中国石油报社应届高校毕业生招聘试题及答案解析.pdf
- 光大银行招聘应届毕业生能力素质测试笔试真题及答案.pdf
- 2024年广西百色教师招聘考试模拟题及答案.pdf
- 2021-2022学年浙江绍兴诸暨市五年级上册语文期末试卷及答案.pdf
最近下载
- Unit3Reading1friendshipontherocks课件高中英语牛津译林版必修第一册.pptx VIP
- 第四章-无约束优化方法(坐标轮换法).pdf VIP
- 小班绘本教案蚂蚁和西瓜.doc
- 便携式输液器设计.docx
- 成人破伤风急诊预防及诊疗专家共识.pptx VIP
- 商铺租赁合同标准范本大全.docx
- 2024年高考化学真题完全解读(广东卷).docx VIP
- (必会)公路水运工程试验检测师《水运结构与地基》近年考试真题题库(含答案解析).docx
- 2.5 跨学科实践:制作隔音房间模型(教学设计)【2024人教新版八上物理高效完全备课】.docx
- ZY_T 10—2024 中医病证诊断与疗效评价规范制修订通则.docx
文档评论(0)