- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
l算法设计与分析复习
算法概述
算法是若干指令的有穷序列,满足性质:
(1)输入(2)输出 (3)确定性 (4)有限性。
算法复杂性分析主要包括空间复杂性和时间复杂性。
算法复杂性分析
(1)渐近上界记号O
O(g(n)) = { f(n) | 存在正常数c和n0使得对所有n3 n0有:0 £ f(n) £ cg(n) }
(2)渐近下界记号W
W (g(n)) = { f(n) | 存在正常数c和n0使得对所有n3 n0有:0£ cg(n) £ f(n) }
(3)紧渐近界记号Q
Q (g(n)) = { f(n) | 存在正常数c1,c2和n0使得对所有n3 n0有:c1g(n) £ f(n) £ c2g(n) }
定理1: Q (g(n)) = O (g(n)) ? W (g(n))
最常见的多项式时间算法的渐近时间复杂度
O(1)<O(log n)<O(n)<O(nlog n)<O(n2)<O(n3)
最常见的指数时间算法的渐近时间复杂度
O(2n)<O(n!)<O(nn)
通用分治递推式
大小为n的原问题分成若干个大小为n/b的子问题,其中a个子问题需要求解,而cnk是合并各个子问题的解需要的工作量。
NP完全性理论
P是所有可在多项式时间内用确定算法求解的判定问题的集合。
NP是所有可在多项式时间内用不确定算法求解的判定问题的集合。
(NP难度)对于问题Q以及任意问题Q1?NP,都有Q1∝Q,则Q是NP难度(NP hard)的。
其中∝表示约化,Q1∝Q,表示Q1可以在多项式时间转化为问题Q,从而可通过调用问题Q的算法求解。
(NP完全)对于问题Q?NP,Q是NP难度的,则称Q是NPC(NP complete)的。
P NP NPC的关系
第2章 递归与分治策略
分治法的设计思想是,将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。
2.2 分治法的基本思想
divide-and-conquer(P)
{
if ( | P | = n0) adhoc(P); //解决小规模的问题
divide P into smaller subinstances P1,P2,...,Pk;//分解问题
for (i=1,i=k,i++)
yi=divide-and-conquer(Pi); //递归的解各子问题
return merge(y1,...,yk); //将各子问题的解合并为原问题的解
}
在用分治法设计算法时,最好使子问题的规模大致相同。即将一个问题分成大小相等的k个子问题的处理方法是行之有效的。
分治法所能解决的问题一般具有以下几个特征:
(1)该问题的规模缩小到一定的程度就可以容易地解决;
(2)该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质.
(3)利用该问题分解出的子问题的解可以合并为该问题的解;
(4)该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题。
2.4 大整数的乘法
X = a2n/2 + b Y = c2n/2 + d
1. XY = ac2n + (ad+bc) 2n/2 + bd (O(n2))
2. XY = ac2n + ((a-c)(b-d)+ac+bd) 2n/2 + bd
T(n)=O(nlog3)
2.8 快速排序
基本思想:
templateclass Type
void QuickSort (Type a[], int p, int r)
{
if (pr) {
int q=Partition(a,p,r);
QuickSort (a,p,q-1); //对左半段排序
QuickSort (a,q+1,r); //对右半段排序
}
}
掌握Partition(a,p,r)方法。
平均情况复杂性O(nlogn)
2.9 线性时间选择
templateclass Type
Type RandomizedSelect(Type a[],int p,int r,int k)
{
if (p==r) return a[p];
int i=RandomizedPartition(a,p,r),
j=i-p+1;
if (k=j) return RandomizedSelect(a,p,i,k);
else return RandomizedSelect(a,i+1,r,k-j);
}
在最坏情况下,算法randomizedSelect需要O(n2)计算时间。但算法randomizedSel
您可能关注的文档
- I唐代赋役制度与田家诗.doc
- l第四章概念与思考题及答案.doc
- I偏头痛致呕吐.doc
- I唐任远院士简介4.doc
- l第四章解答.doc
- I唐伯虎点秋香修订版2.doc
- I唐伯虎问答.doc
- l第四章设备管理课后题答案.doc
- [第十章_存储过程触发器及自定义函数.ppt
- I唐兴小学2012年度学校工作总结.doc
- 金融产品2024年投资策略报告:积极适应市场风格,行为金融+机器学习新发现.pdf
- 交运物流2024年度投资策略:转型十字路,峰回路又转(2023120317).pdf
- 建材行业2024年投资策略报告:板块持续磨底,重点关注需求侧复苏.pdf
- 宏观2024年投资策略报告:复苏之路.pdf
- 光储氢2024年投资策略报告:复苏在春季,需求的非线性增长曙光初现.pdf
- 公用环保2024年投资策略报告:电改持续推进,火电盈利稳定性有望进一步提升.pdf
- 房地产2024年投资策略报告:聚焦三大工程,静待需求修复.pdf
- 保险2024年投资策略报告:资产负债匹配穿越利率周期.pdf
- 政策研究2024年宏观政策与经济形势展望:共识与分歧.pdf
- 有色金属行业2024年投资策略报告:新旧需求共振&工业原料受限,构筑有色大海星辰.pdf
最近下载
- 4-1 中化泉州石化 3 万吨年干气脱硫制二甲基亚砜项目设备设计说明书(含塔设备计算说明、换热器设计结果、设备一览表).pdf
- 工程造价_横湖桥商业楼土建工程量清单报价.docx VIP
- 浙江师范大学行知学院 学生手册.pdf
- 2025年辽宁沈阳市文体旅产业发展集团有限公司招聘笔试参考题库附带答案详解.pdf
- 川崎病患儿的护理课件.pptx VIP
- 2024年东莞市东华高级中学自主招生数学试卷附答案解析 .pdf
- 中医馆客服知识培训课件.pptx
- 辽宁沈阳市文体旅产业发展有限公司招聘笔试题库2025.pdf
- 全国公开课大赛一等奖小学一年级下册数学人教版《七巧板》课件.pptx
- 辽宁沈阳市文体旅产业发展集团有限公司招聘笔试题库2025.pdf
文档评论(0)