久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
也談集合合并
[打印本頁]
作者:
51黑tt
時間:
2016-3-5 18:33
標題:
也談集合合并
給定一個字符串的集合,格式如:
{aaa bbb ccc}
, {bbb ddd},{eee fff},{ggg},
{ddd hhh}
要求將其中交集不為空的集合合并,要求合并完成后的集合之間無交集,例如上例應
輸出
{aaa bbb ccc ddd hhh}
,{eee fff},
{ggg}
(1)請描述你解決這個問題的思路;
(2)請給出主要的處理流程,算法,以及算法的復雜度
(3)請描述可能的改進(改進的方向如效果,性能等等,這是一個開放問題)。
====================================================================
【原創】分析:題意很明顯不分析了。借鑒我處理文本分類的經驗,給出我的思路,
建立一個倒排索引,所謂的倒排索引,就是以關鍵詞為key,value中保存包含該
關鍵詞的文檔標號,這種方法普遍應用在搜索、信息檢索領域。于是就上面的例子,建立
倒排索引如下:
-------------------
key value
------------------
aaa 1
bbb 1,2
ccc 1
ddd 2,5
eee 3
fff 3
ggg 4
hhh 5
----------------------
建立倒排索引的時間復雜度為O(N);然后根據value,求交集(判斷交集的方法,見我的另一篇日志),具體操作是往上合并,例如
{1}+{1,2}={1,2};...,{1,2}+{2,5}={1,2,5};這樣前四個合并了,接下來的三個,無法與{1,2,5}合并,形成3個集合
{1,2,5} {3} {4},最后的{5}往回比較,最后確認是與{1,2,5}合并,,如此往復,知道遍歷所有元素。根據集合中的文檔編號,將
對應位置的集合合并即可。
注意的地方:可以只處理value中元素個數大于1的數,其它value只有1個元素的,要么是單獨的集合,要么已經被包含了,如3,4都不用考慮,而5已經被{2,5}包含,所有這樣會減少很多操作步驟,大大降低時間復雜度,
此算法最好的時間復雜度是各集合都沒有交集,即value中元素個數是1,那么建立索引后就不用合并,總的時間復雜度為O(N)=建立倒排索引的時間復雜度;
最壞的情況發生在每個集合都只與另外一個(有且只有一個)集合有交集。這樣,整個集合空間被劃分為logN個(以2為底)。這樣判斷交集的次數的時間復雜度為O(logN*logN)=[1+2+3+...+logN],所以總的時間復雜度為O(N)+O(logN*logN)=O(N);
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
久久精品视频在线播放
|
精品少妇一区二区三区日产乱码
|
亚洲精品一级
|
久久99精品久久久久久国产越南
|
国产一区二区三区视频
|
日韩中文字幕
|
大伊人久久
|
亚洲精品1
|
精品视频在线播放
|
欧美日韩一区二区在线播放
|
久久久久久999
|
五月花丁香婷婷
|
国产日韩欧美精品
|
久久久免费在线观看
|
91xxx在线观看
|
成人av免费在线观看
|
亚洲精彩视频
|
久久新视频
|
亚洲欧美在线视频
|
性欧美hd
|
精品日韩一区
|
日日夜夜精品视频
|
99久久日韩精品免费热麻豆美女
|
中文字幕成人免费视频
|
91麻豆精品国产91久久久久久
|
91久久久久
|
欧美男人天堂
|
日韩一区二区三区av
|
久久精品国产一区二区三区
|
伊人在线
|
成人免费视屏
|
最新免费黄色网址
|
亚洲欧美视频一区
|
久久69精品久久久久久久电影好
|
国产中文字幕在线观看
|
国产色婷婷久久99精品91
|
天天天插
|
在线成人一区
|
国产视频一区二区
|
网色
|
a国产一区二区免费入口
|