這太長了評論,但這只是一個想法,我怎麼會「玩」這個,看看我是否能想出一些有趣的東西。但有一點是肯定的:以下可以做得很快非常。
這可以很容易地轉換爲一些離散的問題?您首先將所有座標「對齊」到一張大地圖上(您可以定義每個方格的大小,並將每個入口地圖映射到一個這樣的點)。那麼你最終的東西是這樣的:
0000000000000000000000000000
00XX000000000000000000X00000
00X00000000000000X0000000000
0000000000000000000000000000
0000000000000000000000000000
000000X00000000X000000000000
0000000000000000000000000000
000000000000X000000000X00000
00000000000000000000000X0000
0000000000000000000000000000
然後你會計算每一個條目和它的相鄰鄰居的數量:
0000000000000000000000000000
0033000000000000000001000000
0030000000000000010000000000
0000000000000000000000000000
0000000000000000000000000000
0000001000001001000000000000
0000000000000000000000000000
0000000000001010000000200000
0000000000000000000000020000
0000000000000100000000000000
然後,你可以增加你的平方大小,說兩個人,因此將您的地圖:
(地圖是不正確的,它的突出部分給的什麼,我想一個想法)
09001001000000
00000000000000
00100001100000
00000110002000
00000002000000
00000100000000
然後你重新計算相鄰的鄰居等
對我來說,這將允許找到熱點取決於你的「決議」:你只是尋找最大的數字,這將是你的「熱點」。
因爲在這種情況下:
0000X00000
0000XX0000
0000000000
0000000000
0Y0Y000000
0000000000
0Y0Y000000
無論是「X」可以是最熱的地方(三個有趣的點接近對方)或「Y」(四點接近對方,但他們沒有比'X'那麼接近)。
因爲你說你需要速度,我只是把它變成一個離散的問題,並將我的圖表表示爲數組。然後我會考慮一個可變的「區域」大小。
看起來像一個有趣的問題上:)
我主要是研究,因爲我甚至不知道什麼是算法,可以幫助知識領域我回答了這個問題......有一種「生力軍」的解決方案,如你所能想象的那樣效率不高。 – SirKnigget 2011-03-09 13:20:34
你如何定義一個區域?兩點之間的最大距離是多少,以便在同一區域考慮?或者你已經有了已經定義好的區域? – 2011-03-09 13:29:15
由於我需要降序排列的結果,只要第一個結果的密度比第二個結果的密度要高,就沒有關係,等等...... 「區域」必須至少有一個防止一個孤立點的100%密度(當然會增加到主要問題)。 – SirKnigget 2011-03-09 13:37:35