由买买提看人间百态

topics

全部话题 - 话题: mdist
(共0页)
j*****u
发帖数: 1133
1
帮作者(我的朋友)说几句,他们基本上都是用工作之余的私人时间写的这本书,当时时
间很仓促,我觉得第一版这个水准已经很不错了。
另外我觉得这个题在下一页解释的还是比较清楚的。
以中线二分的时候,已经知道了左右两区间的最小距离,MDist是其中的小者,那么考虑
过中线的pair时就可以排除所有在中线左右MDist之外的所有点,因为他们之间的距离肯
定大于MDist。所以BD可能比CD距离更小,但是BD不可能小于MDist所以可以不予考虑。
这样,每次二分我们只需要考虑中线左右MDist区间的点,对左边MDist内的每个点,在
右边区间最多只可能有6个点距离 直维护一个按y坐标sort的点的list,在中间区域找最小点对就是O(n)的
所以整个算法是O(nlogn)的
不知道我解释清楚了没有。

短,
f*******a
发帖数: 663
2
来自主题: DataSciences版 - Science上新clustering算法的分析测试
开始忘贴代码了,有朋友要求,就把修改后的代码贴在这里。改动不多,可以部分提升
效率。原来的也没删,注释掉了。供参考。
=========================================================================
clear;
close all
disp('The only input needed is a distance matrix file')
disp('The format of this file should be: ')
disp('Column 1: id of element i')
disp('Column 2: id of element j')
disp('Column 3: dist(i,j)')
if(0)
% mdist=input('name of the distance matrix file (with single quotes)?\n'
);
mdist = 'example_distances.dat';

disp('Reading input dis... 阅读全帖
(共0页)