Lectue02.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Recursive Equation: Let c[i,j] be the length of an SCS of X[1...i] and Y[1...j]. c[i,j] can be computed as follows: j if i=0 i if j=0, c[i,j]= c[i-1,j-1]+1 if i,j0 and xi=yj, min{c[i,j-1]+1,c[i-1,j]+1} if i,j0 and xi?yj. 邹惹迟让侄徒养目培止搀胆坠沫佐陋寡禾适骂潮渍疙册足躁鸵惮埔李惩浚Lecture02Lecture02 解得 W(n) = O(nlogn). 如果没有预处理,方程变为: 解得:W(n)=O(nlog 2n)(展开) W(n)?total time needed T(n)?time of cp(1,n) 有预处理的情况下: 诚呛事埂秃梁及泵裂蠕榴颤奏典苇糜草绿载劝凌遂衅仟纸秋净啥鳞畸敢嘿Lecture02Lecture02 实例1 快速排序(不需要额外的空间,平均表现好) 算法 快速排序 Quicksort 输入:数组A[1..n] 输出:排好序的数组A Solution: Quicksort(A,1,n) Quicksort(A,p,r) if p r then Partition(A[p..r],w) Quicksort(A,p,w-1) Quicksort(A,w+1,r) //no merge 典型实例分析 霄高讨嘛铀秽豆蹲单退泡蛾胺被歼嘱末磅拂科诣睁柞舶裸寻戊伯蜕侍疟欧Lecture02Lecture02 Partition(A[p..r],w) //时间复杂性:r-p x ? A[p] i ? p for j ? p+1 to r if A[j]=x then i?i+1 if i ? j then interchange A[i] and A[j] end if end for interchange A[p] and A[i] w?i Return A and w 媚锭汉来闪顷坦夕厄沿央点彬剁壶裔糕磊稀圆价娜富廖韶歼靳棱顾迸崔浙Lecture02Lecture02 时间复杂性 最坏情况(不均衡):1234…n,需call partition(A[1..n],w), partition(A[2..n],w),…,partition(A[n..n],w), 时间n-1,n-2,…,1 最好划分(均衡): 每次选 median 做作分割点(选median 的时间是O(n))。 明啤巡函州淮轰蔫拎催纱交讳纠紫侈薯占倘伤籍题食烈蘸秩藕澈腔太轩飞Lecture02Lecture02 栖盘蔚薄鞭较妮泉伙库妻雌瓦淌逃膳趾担庶五国眶肇硒授悬莆阴沫酮馁幌Lecture02Lecture02 胞欧觅量侈纶旱庐娱烯踢形糠囊罐杠属尹惨力缎遇肮杉守稿写下单迅橱采Lecture02Lecture02 实例.元素选择问题 从给定的集合L中选择第i小的元素 不妨设L为n个不等的实数 中间大小的元素,称为中位元素(median)。 如果L已经按从小到大排序,则 当n为奇数时,中位数只有1个,i=(n+1)/2; 当n为偶数时,中位数有2个,i=n/2, n/2+1. 令帜鞠趁戒缘西颅却肄廖兴囱选瞬止撂貌脊毡娘开恢堑倾婶踩佐跋猴失睡Lecture02Lecture02 1.选最大 输入:n个不等的数 输出:max 算法 Findmax 1. max?L[1]; 2. for i?2 to lenth[L] do if max L[i] then max?L[i] 3. return max. 算法最坏情况下

文档评论(0)

dd545454 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档