在算法中,我大多数都是自学成才,而且基本上很好.但是,我在掌握图形算法时遇到了麻烦.我正在寻找具有概念和实际代码的某种参考,因此我不仅可以学习理论(我通常也可以使用),还可以了解图形在实践中如何表示和操作(我通常有更难抓住的时间).SO可以提供吗?只要有概念和实施,从书籍,链接到现有项目的任何东西都会很棒.
这是语言无关的,但我对python最熟悉,并且对FP没有太多经验.
我想使用scipy.spatial的KDTree来查找二维数组中的最近邻居对(本质上是嵌套列表的维度为2的列表列表).我生成我的列表列表,将其输入numpy的数组,然后创建KDTree实例.但是,每当我尝试对其运行"查询"时,我都不可避免地会得到奇怪的答案.例如,当我输入:
tree = KDTree(array)
nearest = tree.query(np.array[1,1])
Run Code Online (Sandbox Code Playgroud)
最近打印出来(0.0,0).目前,我正在使用一个基本上y = x的数组作为范围(1,50)所以我希望我得到(2,1)的最近邻居(1,1)
我做错了什么,狡猾的大师?
编辑:或者,如果有人可以指向我的python的KDTree包,他们已经用于最近邻搜索给定点,我很乐意听到它.
在很长一段时间内第一次使用Windows并且已经选择了notepad ++并使用nppexec插件来运行python脚本.但是,我注意到notepad ++没有选择保存我的脚本的目录.例如,我将"script.py"放在"我的文档"中,但os.getcwd()打印"Program Files\Notepad ++"
有谁知道如何改变这种行为?在Mac上并不完全习惯它.
我的任务是找到N个簇,其中包含特定数据集的最多点,因为簇具有一定的大小.目前,我试图通过将我的数据插入到kd树中,迭代数据并找到它的最近邻居,然后在他们制作的集群不超过限制时合并这些点来尝试这样做.我不确定这种方法会给我一个全局解决方案,所以我正在寻找方法来调整它.如果你能告诉我这会遇到什么类型的问题,那也很棒.
python algorithm classification cluster-analysis nearest-neighbor