⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kd_split.h

📁 c++实现的KNN库:建立高维度的K-d tree,实现K邻域搜索
💻 H
字号:
//----------------------------------------------------------------------// File:			kd_split.h// Programmer:		Sunil Arya and David Mount// Description:		Methods for splitting kd-trees// Last modified:	01/04/05 (Version 1.0)//----------------------------------------------------------------------// Copyright (c) 1997-2005 University of Maryland and Sunil Arya and// David Mount.  All Rights Reserved.// // This software and related documentation is part of the Approximate// Nearest Neighbor Library (ANN).  This software is provided under// the provisions of the Lesser GNU Public License (LGPL).  See the// file ../ReadMe.txt for further information.// // The University of Maryland (U.M.) and the authors make no// representations about the suitability or fitness of this software for// any purpose.  It is provided "as is" without express or implied// warranty.//----------------------------------------------------------------------// History://	Revision 0.1  03/04/98//		Initial release//----------------------------------------------------------------------#ifndef ANN_KD_SPLIT_H#define ANN_KD_SPLIT_H#include "kd_tree.h"					// kd-tree definitions//----------------------------------------------------------------------//	External entry points//		These are all splitting procedures for kd-trees.//----------------------------------------------------------------------void kd_split(							// standard (optimized) kd-splitter	ANNpointArray		pa,				// point array (unaltered)	ANNidxArray			pidx,			// point indices (permuted on return)	const ANNorthRect	&bnds,			// bounding rectangle for cell	int					n,				// number of points	int					dim,			// dimension of space	int					&cut_dim,		// cutting dimension (returned)	ANNcoord			&cut_val,		// cutting value (returned)	int					&n_lo);			// num of points on low side (returned)void midpt_split(						// midpoint kd-splitter	ANNpointArray		pa,				// point array (unaltered)	ANNidxArray			pidx,			// point indices (permuted on return)	const ANNorthRect	&bnds,			// bounding rectangle for cell	int					n,				// number of points	int					dim,			// dimension of space	int					&cut_dim,		// cutting dimension (returned)	ANNcoord			&cut_val,		// cutting value (returned)	int					&n_lo);			// num of points on low side (returned)void sl_midpt_split(					// sliding midpoint kd-splitter	ANNpointArray		pa,				// point array (unaltered)	ANNidxArray			pidx,			// point indices (permuted on return)	const ANNorthRect	&bnds,			// bounding rectangle for cell	int					n,				// number of points	int					dim,			// dimension of space	int					&cut_dim,		// cutting dimension (returned)	ANNcoord			&cut_val,		// cutting value (returned)	int					&n_lo);			// num of points on low side (returned)void fair_split(						// fair-split kd-splitter	ANNpointArray		pa,				// point array (unaltered)	ANNidxArray			pidx,			// point indices (permuted on return)	const ANNorthRect	&bnds,			// bounding rectangle for cell	int					n,				// number of points	int					dim,			// dimension of space	int					&cut_dim,		// cutting dimension (returned)	ANNcoord			&cut_val,		// cutting value (returned)	int					&n_lo);			// num of points on low side (returned)void sl_fair_split(						// sliding fair-split kd-splitter	ANNpointArray		pa,				// point array (unaltered)	ANNidxArray			pidx,			// point indices (permuted on return)	const ANNorthRect	&bnds,			// bounding rectangle for cell	int					n,				// number of points	int					dim,			// dimension of space	int					&cut_dim,		// cutting dimension (returned)	ANNcoord			&cut_val,		// cutting value (returned)	int					&n_lo);			// num of points on low side (returned)#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -