合并排序演算法.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文档。上传文档
查看更多

最近二維點對演算法時間複雜度分析步驟時間複雜度:步驟1:c1nlogn(事先排序)步驟2~5:T’(n)=c2nlogn總時間複雜度:T(n)=c1nlogn+c2nlogn=O(nlogn)Algorithm最近二維點對演算法Input:n個二維平面點所構成的集合S,n?2Output:集合S中距離最近的二個點的距離d步驟1:根據X軸值與Y軸值來事先排序S中的點。步驟2:若n=2,則回傳S中二點的距離d並結束。步驟3:找出所有點的X軸中位數(median)m畫出垂直於X軸的直線L,將S中的點分為二個集合SL與SR。步驟4:遞迴地使用二維點對演算法分別求出SL與SR中最近二維點對的距離dL與dR,且令d=min(dL,dR)。步驟5:將X軸值介於m-d與m+d的所有點的Y軸值投射至直線L上。針對於每個X軸值落在範圍介於m-d與m之間的點p,以yp記錄其Y軸值,並尋找所有X軸值落在範圍介於m與m+d之間,且Y軸值介於yP+d與yP-d之間的所有點,若存在一點與p之距離為小於d的d’,則令d=d’。回傳d並結束執行。*2.8刪尋演算法基本概念*

刪尋解題策略刪尋(prune-and-search)解題策略使用多次迭代(iteration)解決問題。在每次迭代都刪除(prune)輸入資料的一部份(假設為f部份,0f1),而後採用相同的演算法遞迴地(recursively)從剩餘資料中搜尋(search)出解答。而經過幾次迭代後,輸入資料的規模將會小到足以讓問題使用常數時間複雜度直接解決。*使用刪尋解題策略的演算法二元搜尋演算法選取與中位數演算法限制的一圓心演算法簡化的二變數線性規劃演算法*一般刪尋演算法時間複雜度假設輸入規模為n,而刪尋演算法每次迭代都刪除(prune)輸入資料的f部份(0f1),若在每次迭代執行所需的時間複雜度為cnk=O(nk),k0,則在最差狀況下刪尋演算法的時間複雜度T(n)為:T(n)=T((1-f)n)+cnk*一般刪尋演算法時間複雜度(續)等比級數公式*迭代p次,假定(1-f)p+1n?1?(1-f)pn2.9二元搜尋演算法*二元搜尋演算法給定一個已依由小到大順序排列的數值陣列A,假設我們要在索引l與索引r之間找出目標數值t的索引,則我們可以使用二元搜尋(binarysearch)演算法採用刪尋策略來有效率地進行這項工作。*二元搜尋演算法(續)*已排序好的陣列A:(搜尋43)索引:-101 2 3 456 數值: 28 11 27384352 (搜尋43)迭代1 l m?r迭代2 lm?r(傳回索引5)(搜尋1)迭代1 l m?r迭代2 lm?r迭代3 l,r,m迭代4 rl(因rl,故傳回索引-1代表t不在陣列中)二元搜尋演算法範例*二元搜尋演算法

是刪尋還是分治演算法?二元搜尋演算法可視為刪尋(prune-and-search)演算法。在每一個迭代的比較之後,會有一半的資料被刪除(pruneaway)。二元搜尋演算法亦可視為分治(divide-and-conquer)演算法。在每一次分割之後,一個分割可能存在解答,另一個分割一定不存在解答。*假設搜尋範圍內有n個元素,則時間複雜度T(n)為: T(n) =T(n/2)+1 =T(n/4)+1+1 : =T(n/2k)+k*1

令n/2k=1,則n=2k且k=logn,我們可得 T(n)=T(1)+k =1+k =O(logn)二元搜尋演算法時間複雜度分析*排序演算法比較*2.4

缺陷棋盤填滿演算法*缺陷棋盤填滿演算法使用分治策略解決缺陷棋盤填滿問題,使用三格骨牌填滿缺陷棋盤以下我們先定義甚麼是棋盤、缺陷棋盤及三格骨牌然後我們定義缺陷棋盤填滿問題最後我們介紹缺陷棋盤填滿演算法

缺陷棋盤填滿演算法說明*棋盤的定義一個棋盤是一個nxn方格(grid),具有n2個單格(cell),其中n?2而且n是2

文档评论(0)

137****2923 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档