1.現在有大量點集,用經緯度表示,分布特征未知,想將這些點進行聚類,找出每個聚類的半徑,圈出一個最小外接圓,有沒有什么可行的方法呢2.有這樣一些記錄(id1,id2),表示id1和id2有關聯,所有這些記錄構成了一個圖的形式,對所有id都需要進行處理后,量很大的情況,有沒有一種效率高的方法找出某個id的所有鄰居
1 回答

一只名叫tom的貓
TA貢獻1906條經驗 獲得超3個贊
1. 聚類的方法很多,kmeans (或kmeans++)什么的,如果你只是單純用坐標來聚類的話,實現很簡單,有現成庫可以直接用。(但是經緯度的話 可能要特殊處理下)
2. 取決于這個量到底有多大。假設有N個點,如果點對的量接近N*N,那么沒有辦法,你只能用鄰接矩陣,不過你可以用一個bit來表示每個點,這樣就只需要N*N/8個字節。如果量比較少的話,可以用鄰接表來實現(查詢速度快)。另外,如果這些關系只跟距離有關的話,Quadtree這個數據結構就可以實現,你只要按照這個數據結構組織存儲點就行了(其實直接用MongoDB的Geospatial Index就行)。
- 1 回答
- 0 關注
- 206 瀏覽
添加回答
舉報
0/150
提交
取消