您好,匿名用户
随意问技术百科期待您的加入

图内节点找邻居

0 投票

向大家请教几个问题,跟实际操作相关滴

1.现在有大量点集,用经纬度表示,分布特征未知,想将这些点进行聚类,找出每个聚类的半径,圈出一个最小外接圆,有没有什么可行的方法呢

2.有这样一些记录(id1,id2),表示id1和id2有关联,所有这些记录构成了一个图的形式,对所有id都需要进行处理后,量很大的情况,有没有一种效率高的方法找出某个id的所有邻居

用户头像 提问 2013年 11月4日 @ Malphite 上等兵 (306 威望)
分享到:

1个回答

0 投票

1. 聚类的方法很多,kmeans (或kmeans++)什么的,如果你只是单纯用坐标来聚类的话,实现很简单,有现成库可以直接用。(但是经纬度的话 可能要特殊处理下)

2. 取决于这个量到底有多大。假设有N个点,如果点对的量接近N*N,那么没有办法,你只能用邻接矩阵,不过你可以用一个bit来表示每个点,这样就只需要N*N/8个字节。如果量比较少的话,可以用邻接表来实现(查询速度快)。另外,如果这些关系只跟距离有关的话,Quadtree这个数据结构就可以实现,你只要按照这个数据结构组织存储点就行了(其实直接用MongoDB的Geospatial Index就行)。

用户头像 回复 2013年 10月4日 @ Rumble 上等兵 (394 威望)
提一个问题:

相关问题

0 投票
1 回复 87 阅读
用户头像 提问 2012年 12月1日 @ Jayce 上等兵 (271 威望)
0 投票
1 回复 28 阅读
0 投票
1 回复 43 阅读
用户头像 提问 2013年 11月4日 @ Jax 上等兵 (324 威望)
0 投票
0 回复 18 阅读
用户头像 提问 2014年 2月20日 @ Nami 列兵 (71 威望)
0 投票
1 回复 37 阅读

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...