精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

有一堆襪子,如何用最快速高效的算法來給襪子配對?

開發 后端 開發工具 算法
昨天我在整理從洗衣店洗干凈的一堆襪子,發現我用的方法非常不高效。我用了一個最簡單的方法:拿到一只襪子,然后從頭到尾去找另外一只襪子。用這種方法需要重復平均超過 n/2*n/4=n2/8 雙襪子。

【問題描述】

昨天我在整理從洗衣店洗干凈的一堆襪子,發現我用的方法非常不高效。我用了一個最簡單的方法:拿到一只襪子,然后從頭到尾去找另外一只襪子。用這種方法需要重復平均超過 n/2*n/4=n2/8 雙襪子。

作為一個計算機科學家,我在想我應該怎么做?我立馬就想到了根據尺寸顏色排序來得到一個復雜度為O(NlogN)的方法。

哈希或其他“非原地”的方法在這里不可取,因為我不可能復制襪子(要是可以的話就好了)。

因此,這個基本問題是:

給一堆襪子,總數 n 雙,即包含 2n 只襪子(襪子是亂放的,即不是成對放的),假設每只襪子都有一個確定的且能和它配對的襪子,問:如何用最快最有效的算法找出每只襪子與之配對的另一個襪子,并且最多使用對數級別的額外空間?

如果答案能夠考慮到下面的幾個方面,我會非常高興:(我希望答案能夠考慮到下面的幾個方面:)

  1. 該算法要同樣適用于巨大數量的襪子。
  2. 現實中襪子數量不會很多,我和我配偶的襪子加起來不超過30雙(我們倆的襪子非常容易區分,這可以被利用嗎?)
  3. 該問題是否等同于元素唯一性問題(Element distinctness problem)?

【***答案】

上面提到的排序雖然可以考慮,但是有點浪費。因為我們不需要有序,我們僅僅需要的是具有“相同”屬性的東西;

因此哈希算法就已經足夠了,并且還很快。

1. 從另一個角度來看堆(一堆襪子)是由襪子的所有顏色形成的。所以遍歷輸入籃子中的所有襪子并,根據顏色再把他們放到不同的籃子。

2. 遍歷上述新形成的每個籃子,再根據其他的一些特性比如形狀將襪子放到第二個集合籃子中。

3. 遞歸地運用上述方法,直到將所有襪子都放到一個非常小的籃子中,***你可以很容易的來處理。

SQL Server的實現就采用的是這種遞歸哈希劃分方法,當它要進行添加或者合并巨大集合的時候。它將輸入劃分成了多個集合,而且每個集合都是相互獨立的。這個方法對任意數據量和多核CPU都可以得到線性的復雜度。

如果你可以找到一個值,使得每個籃子內的元素數量小到可以很輕松處理的程度,那么你就可以不用遞歸的劃分。不幸的是,我認為襪子沒有這樣的一個屬性。

如果每個襪子都有一個整數形式的”PairID”,這樣就可以很容易依據哈希算法PairID%10,將所有襪子放到10個籃子中。

我認為實際上最有效的劃分是:用一個長方形的盒子,長方形的一條邊代表顏色,另一條邊代表形狀。(譯者注:運用一個二位數組,一維代表顏色,另一維代表形狀)。為什么是一個長方形的盒子?因為這樣我們可以只用O(1)的代價,就可以隨機訪問盒子中的元素。(三維的長方體也可以,但是不合實際)。

【答案更新】

考慮并行處理呢?如果有多個人來共同配對襪子,是否會快點呢?

1.有一個最簡單的并行策略,就是多個工人共同處理一籃子的襪子,將襪子配對。這只會加快一點點,假設有100個人處理10堆襪子。多人之間的同步成本(比如說手工碰撞和人類溝通)這樣會降低效率和速度(見Universal Scalability Law)。這樣會導致死鎖嗎?不會,因為每一個工人在一個時間只會訪問一個籃子。只需要一個鎖就可以防止死鎖。是否發生活鎖(Livelocks)則依賴于工人怎么合作去訪問籃子。他們可能使用類似網卡那樣的二進制指數退避算法(random backoff ),在物理級別上決定哪些可以獨占的訪問網線。如果這個方法在網卡上有成效,那也同樣適用于那些工人。

2. 如果每個工人都有自己的一個籃子集合那這個規模就會接近無限大了。工人們可以從一個非常大的籃子中拿走襪子,并且在配對所有襪子時候不需要相互交流同步(因為此時每個人都有自己獨有的籃子)。***再將每個工人所有的籃子合并在一起。我認為如果所有工人能夠形成一個聚合樹,那么這個問題可以在復雜度O(logW*P) (W代表工人的數量,P是平均每個工人的堆數量)內完成。

元素唯一性會如何呢?前文也提到了,元素唯一性可以在O(n)內解決。如果你只需要一個分派步驟(我之前推薦分發多次,是因為人計算能力不強的原因。如果你使用md5來進行分發,一次就足夠了。因為md5可以把顏色、長度、圖案都考慮進去,是一個包含所有屬性的***哈希),襪子問題同樣也可以在O(n)內處理完。

很明顯,所有算法最快也不可能超過O(n),所以我們達到了***下界。

盡管輸出可能不完全相等(在一種情況下,只是一個布爾值。另一種情況,是一雙襪子),但是漸進復雜性確實相等的。

原文鏈接: stackoverflow   翻譯: 伯樂在線 - Jerry

譯文鏈接: http://blog.jobbole.com/66738/

責任編輯:林師授 來源: 伯樂在線
相關推薦

2020-07-12 15:29:58

Windows工具微軟

2016-09-22 16:09:36

大數據PB級NoSQL

2021-04-07 14:11:04

AI 數據人工智能

2013-08-14 17:47:48

企業2.0企業社交網絡

2011-11-23 10:01:43

虛擬化軟件許可IIS

2021-08-26 06:58:14

Http請求url

2015-07-08 09:43:22

程序員

2024-07-04 13:42:12

2021-03-02 10:57:39

二叉樹二叉堆節點

2013-04-08 10:49:53

當我們變成一堆數字大數據時代

2020-03-30 11:10:34

JVM內存結構

2020-03-02 08:33:35

高質量可維護代碼

2022-10-12 18:10:17

微軟行業云醫療

2017-06-03 15:22:26

windowsInsider微軟

2021-06-24 08:00:00

開發Hugo工具

2022-03-09 09:29:13

人工智能機器學習萬引定律

2016-07-04 16:54:56

存儲極客

2017-04-01 16:10:49

OpenStack組件部署

2020-11-02 08:15:00

Python數據開發

2023-05-11 08:26:56

點贊
收藏

51CTO技術棧公眾號

成人在线观看亚洲| 国产精品一区二区6| 日韩电影精品| 综合久久国产九一剧情麻豆| 成人中心免费视频| 国产女人18水真多毛片18精品| 精品视频在线一区| 亚洲444eee在线观看| 国新精品乱码一区二区三区18| 日本五十路女优| 亚洲区小说区| 亚洲成人动漫av| 欧美日韩国产三区| 在线免费av网| 亚洲人成免费| 中文字幕国产日韩| 国产999免费视频| 免费看男女www网站入口在线| 久久人人爽人人爽| 国产美女精彩久久| 日产精品久久久久久久| 精品国产91| 欧美一级艳片视频免费观看| av免费观看大全| 三级av在线播放| 久久精品国产成人一区二区三区| 欧美激情一区二区三区成人 | 久草这里只有精品视频| 欧美成人精品在线| 丰满少妇在线观看资源站| 日韩城人网站| 一本久久a久久精品亚洲| 国产精品美女在线播放| 午夜视频免费看| 精品无人码麻豆乱码1区2区| 97精品国产97久久久久久| caopeng视频| 国产精品香蕉| 91精品久久久久久久久99蜜臂| 美女日批免费视频| h片在线观看网站| 国产午夜精品一区二区| 国产成人精品日本亚洲11 | a91a精品视频在线观看| 日韩中文字幕在线| 久久久亚洲av波多野结衣| 精品一区二区三区中文字幕在线 | 久久精品日产第一区二区| 久久国产天堂福利天堂| 欧美丰满美乳xxⅹ高潮www| 精品国产午夜肉伦伦影院| 日韩一区二区三区三四区视频在线观看 | 久久久久国产一区二区三区| 99热6这里只有精品| 免费观看不卡av| 亚洲精品一区在线观看| 亚洲AV成人精品| 国产一区二区三区亚洲综合| 欧美精品乱码久久久久久| 婷婷激情四射五月天| 成人性生活视频| 狠狠躁夜夜躁人人躁婷婷91| 黄色网在线视频| 91小视频xxxx网站在线| 亚洲欧美综合网| 一区二区精品视频| 91美女视频在线| 国产清纯美女被跳蛋高潮一区二区久久w | 色哟哟网站入口亚洲精品| 久久视频精品在线观看| jazzjazz国产精品麻豆| 欧美日韩精品一二三区| 欧美一级特黄a| 91精品店在线| 欧美日本一区二区在线观看| 黄大色黄女片18第一次| 久久亚洲人体| 欧美精品乱人伦久久久久久| 亚洲精品第三页| 国产精品亚洲综合在线观看| 日韩精品一区二区三区三区免费| 日本在线视频播放| av综合网站| 精品成人佐山爱一区二区| 久久久久成人精品无码中文字幕| 欧美大胆视频| 一本久久综合亚洲鲁鲁| 99国产精品无码| 亚洲无中文字幕| 欧美激情一级精品国产| 成人免费区一区二区三区| 久久亚洲精选| 国产精品专区一| 国产suv精品一区二区69| 成人午夜在线免费| 麻豆精品蜜桃一区二区三区| 黄色在线观看网| 国产精品福利一区| 一区二区三区久久网| www在线观看播放免费视频日本| 亚洲一区二区三区四区五区中文 | 成人免费xxxxx在线观看| hs视频在线观看| 91欧美一区二区| 亚洲精品一区二区三区av| 在线中文字幕电影| 黑人欧美xxxx| 国产喷水theporn| 日韩中文字幕一区二区高清99| 亚洲国产高清福利视频| 最近中文字幕在线mv视频在线| 亚洲mv大片欧洲mv大片| 97色在线观看| 国产精品女同一区二区| 99久久精品情趣| 一区二区三区av在线| bestiality新另类大全| 福利微拍一区二区| 成人性生交视频免费观看| 精品素人av| 日韩专区在线观看| 99精品视频99| 国产一区二区女| 欧美精品一区二区三区四区五区 | 欧美猛少妇色xxxxx| 亚洲成人第一网站| 国产福利不卡视频| 亚洲激情一区二区三区| 高清精品在线| 日韩欧美国产1| 9.1片黄在线观看| 亚洲神马久久| 成人动漫在线观看视频| 9色在线视频| 亚洲影院在线观看| 亚洲娇小娇小娇小| 国产成人黄色| 98精品国产自产在线观看| 国产探花精品一区二区| 亚洲国产精品黑人久久久| 欧美日韩中文字幕在线播放| 久久免费资源| 中文字幕成人精品久久不卡| 国产成人免费看| 99久久久免费精品国产一区二区| 亚洲高潮无码久久| 国产国产一区| 一区二区三区四区精品| 精品国产乱子伦| 91免费精品国自产拍在线不卡| 欧美日韩中文字幕在线播放| 4438五月综合| www.欧美精品| 亚洲中文字幕在线观看| 欧美国产一区二区在线观看| 日韩有码免费视频| 麻豆一区二区麻豆免费观看| 欧美精品久久久久久久| 午夜精品久久久久久久99老熟妇 | 99青草视频在线播放视| 欧洲视频一区二区| 中文字幕免费在线看线人动作大片| 日韩亚洲国产精品| 黄色99视频| 女海盗2成人h版中文字幕| 欧美va在线播放| 91精品国产高清一区二区三蜜臀| 青青国产91久久久久久| 日韩av图片| 91福利精品在线观看| 色综合伊人色综合网站| 久久这里只有精品9| 中文字幕欧美激情一区| 亚洲成人av免费看| 日韩成人精品一区二区| 日韩美女在线观看| 成人动漫在线播放| 欧美高清激情brazzers| 朝桐光av在线| 岛国精品在线观看| 国产免费观看高清视频| 三级小说欧洲区亚洲区| 日韩av色综合| 日本在线视频站| 3d成人动漫网站| 精品无码黑人又粗又大又长| 波多野结衣在线aⅴ中文字幕不卡| 精品国产免费av| 欧美日韩高清| 5566av亚洲| 91超碰在线| 亚洲精品自拍偷拍| 国产成人免费观看视频| 国产精品私人自拍| 亚洲一二三av| 亚洲毛片av| 日韩免费av一区二区三区| 99tv成人影院| 97在线看福利| 国产一区精品| 欧美成人官网二区| 久久人妻免费视频| 中文字幕一区二区三区视频| 亚洲美女精品视频| 日韩不卡一区二区三区 | 99久久激情| 国内精品国语自产拍在线观看| 美女福利一区二区| 久久人人爽人人爽爽久久| 欧美视频在线观看一区二区三区| 色婷婷亚洲精品| 欧美 日韩 国产 一区二区三区| www.色精品| mm131亚洲精品| a91a精品视频在线观看| 一区二区免费在线观看| 欧美色图婷婷| 91久色国产| 日本精品在线中文字幕| 久久久这里只有精品视频| 成人资源www网在线最新版| 日韩视频免费观看高清完整版在线观看 | 久久天天东北熟女毛茸茸| 日韩精品丝袜美腿| 114国产精品久久免费观看| 678在线观看视频| www.久久色.com| 免费av在线电影| 精品国产乱码久久久久久免费 | 绯色av蜜臀vs少妇| 蜜臀av亚洲一区中文字幕| 国产精品国产亚洲精品看不卡| 婷婷综合社区| 亚洲精品9999| 国产剧情在线观看一区| 国产精品日本一区二区| 2019中文亚洲字幕| 国产精品一区二区电影| 伊人久久综合一区二区| 国模视频一区二区| 午夜激情在线| 久久av资源网站| 亚洲麻豆精品| 亚洲欧美日韩中文视频| 天堂中文在线资源| 日韩免费在线观看| 国产孕妇孕交大片孕| 欧美在线视频全部完| 亚洲欧美精品一区二区三区| 一区二区不卡在线视频 午夜欧美不卡在| 色偷偷男人天堂| 国产精品美女久久久久久| 亚洲精品国产熟女久久久| 久久综合狠狠综合久久综合88 | ijzzijzzij亚洲大全| 日韩一区欧美| 亚洲一区三区| 成人一级毛片| 日韩欧美三级一区二区| 亚洲制服一区| 日韩高清dvd| 精品无人区麻豆乱码久久久| 欧美18视频| 狠狠色丁香婷婷综合影院| 秋霞毛片久久久久久久久| 国产成人1区| 亚洲欧洲免费无码| 999国产精品视频| 伊人久久青草| 日韩大片在线观看| 一区二区三区四区不卡| 亚洲女同一区| 高清无码一区二区在线观看吞精| 亚洲美女毛片| 在线免费视频一区| 国产99久久久国产精品潘金 | 伊人夜夜躁av伊人久久| 九九热国产视频| 欧美在线一二三四区| japanese国产| 亚洲图片在线综合| 在线观看午夜av| 日本精品久久久| 国内精品视频| 欧美日韩国产一二| 自产国语精品视频| 苍井空浴缸大战猛男120分钟| 精彩视频一区二区三区| 中出视频在线观看| 亚洲人一二三区| 一级片视频在线观看| 日韩一级免费观看| аⅴ资源新版在线天堂| 欧美成人亚洲成人日韩成人| 午夜影院在线观看国产主播| 成人自拍性视频| 精品久久成人| 国产 日韩 欧美在线| 久久超碰97人人做人人爱| 中文文字幕文字幕高清| 中文字幕一区二区三区色视频 | 欧美日韩成人高清| 性插视频在线观看| 久久这里只有精品视频首页| 天堂中文av在线资源库| 3d精品h动漫啪啪一区二区| 精品久久久久久久| 黄色一级在线视频| 国产剧情一区二区三区| 成人在线观看免费高清| 午夜视黄欧洲亚洲| va婷婷在线免费观看| 中文字幕亚洲精品| 忘忧草在线日韩www影院| 3d动漫精品啪啪一区二区三区免费| 欧美日韩中文一区二区| 免费国产黄色网址| 国产成人综合在线| 性色国产成人久久久精品| 在线亚洲精品福利网址导航| 天堂av中文字幕| 久久久久久成人| 亚洲一区二区三区免费| 潘金莲一级淫片aaaaaa播放1| 日韩电影在线一区二区三区| 性欧美丰满熟妇xxxx性久久久| 亚洲精品五月天| 国产口爆吞精一区二区| 中文字幕亚洲欧美日韩2019| 成人免费av电影| 欧美日韩高清在线一区| 欧美专区一区二区三区| 性色av蜜臀av色欲av| 午夜精品福利一区二区蜜股av| 成人午夜福利视频| 久99久在线视频| 亚洲三区欧美一区国产二区| 在线播放 亚洲| 精品一区二区三区在线播放视频 | 亚洲草久电影| 亚洲第一区第二区第三区| 国产精品久久久久久久久免费桃花| 久草视频在线免费| 伊人久久久久久久久久久| 成人看片网页| 综合视频在线观看| 国产麻豆午夜三级精品| 久久久精品99| 亚洲国产天堂久久国产91| 午夜伦理福利在线| 茄子视频成人在线观看| 免费在线看成人av| 天海翼在线视频| 欧美大胆人体bbbb| 欧美xxxx做受欧美88bbw| 99伊人久久| 99精品国产在热久久| 37p粉嫩大胆色噜噜噜| 在线免费观看日本一区| melody高清在线观看| 91精品久久久久久久久久另类| 91精品国偷自产在线电影| 中文字幕在线播放一区二区| 午夜成人免费视频| 国产原创av在线| 91美女福利视频高清| 红桃视频国产一区| 99久久久久久久久久| 欧美揉bbbbb揉bbbbb| 亚洲丝袜精品| 精品不卡在线| 秋霞电影网一区二区| 国产精品视频一区二区三| 精品国产在天天线2019| 在线免费三级电影网站| 亚洲精品日韩在线观看| 国产精品12区| 久久中文字幕免费| 精品国产依人香蕉在线精品| 91精品尤物| 色婷婷综合久久久久中文字幕| 国产精品久久久久久妇女6080| 亚洲经典一区二区三区| 日韩美女在线播放| 欧美精品国产一区| 全黄一级裸体片| 日韩欧美视频在线| 欧美福利在线播放| 欧美黑人在线观看| 中文在线一区二区 | 99国产精品久| 国产精品一级二级| 欧美一级免费视频| 永久亚洲成a人片777777| 三级电影在线看| 日韩精品一区二区在线| 国产资源一区| 欧美日韩在线不卡视频| 亚洲精品亚洲人成人网| a√资源在线|