项目作者: ThangMinhCao

项目描述 :
The implementation in C++ of the closest-pair doubling algorithm which finds the smallest distance between two points in a metric space in O(n log n) time without directly using the points' coordinates.
高级语言: C++
项目地址: git://github.com/ThangMinhCao/closest-pair-doubling.git
创建时间: 2020-06-02T19:25:23Z
项目社区:https://github.com/ThangMinhCao/closest-pair-doubling

开源协议:MIT License

下载


closest-pair-doubling

The implementation in C++ of the closest-pair doubling algorithm which finds the smallest distance between pairs of points in any multi-dimensional metric space in O(n log n) time without directly using the points’ coordinates.

Thanks to the work of Anil Maheshwari, Wolfgang Mulzer and Michiel Smid.
A Simple Randomized O(N log N)–Time Closest-Pair Algorithm in Doubling Metrics.
https://arxiv.org/abs/2004.05883

📝 Project report

:pagewith_curl: [Outputs and data](https://github.com/ThangMinhCao/closest-pair-doubling/tree/master/report/images%26_data)

Prerequisites

Notes

Because of very large base cases of the algorithm on Euclidean spaces with dimension more than 3D (>= 3 000 000 points) which causes extremely long running time, my test examples and the program only deals with 2D Euclidean spaces.

Install

  1. git clone git@github.com:ThangMinhCao/closestpairdoubling.git
  2. cd closestpairdoubling
  3. cmake .
  4. make

Test the program

In the cloned directory of the repo:

  1. ./closestpairdoubling

Author

Minh Thang Cao

License

Copyright © 2020 Minh Thang Cao.

This project is MIT licensed.
License: MIT