资源简介
C++实现K最邻近算法, 使用KD树来实现, 在面对大量数据时可以提高搜索效率. 代码干净, 整洁, 有注释, 可直接使用.
代码片段和文件信息
#include
#include “LKDTree.h“
#include “LOrderedList.h“
/// @brief KD树节点
struct LKDTreeNode
{
enum
{
UNDEFINE_SPLIT = -1 // 表示未定义的分割序号
};
int Split; ///< 垂直于分割超面的方向轴序号(如果值为UNDEFINE_SPLIT 表示该节点为叶子节点)
unsigned int DataIndex; ///< 节点数据的索引
LKDTreeNode* Parent; ///< 父节点
LKDTreeNode* LeftChildren; ///< 左孩子节点
LKDTreeNode* RightChildren; ///< 右孩子 节点
};
/// @brief KD树节点与目标点的距离
struct LKDTreeNodeDistance
{
unsigned int DataIndex; ///< 数据索引
float Distance; ///< 距离值
bool operator < (IN const LKDTreeNodeDistance& B) const
{
if (this->Distance < B.Distance)
return true;
else
return false;
}
};
LKDTree::LKDTree()
{
this->m_pRootNode = 0;
}
L
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 872 2015-08-17 16:34 KNN\KNN.sln
..A..H. 10752 2015-08-17 16:45 KNN\KNN.suo
文件 3411 2015-08-17 16:45 KNN\KNN.vcxproj
文件 1359 2015-08-17 16:45 KNN\KNN.vcxproj.filters
文件 143 2015-08-17 16:34 KNN\KNN.vcxproj.user
文件 12362 2015-08-17 16:44 KNN\LKDTree.cpp
文件 2831 2015-08-17 16:44 KNN\LKDTree.h
文件 9631 2015-07-14 16:57 KNN\LMatrix.h
文件 7052 2015-08-17 10:54 KNN\LOrderedList.h
文件 3270 2015-08-17 16:45 KNN\main.cpp
目录 0 2015-08-17 16:45 KNN
----------- --------- ---------- ----- ----
51683 11
- 上一篇:图书馆管理系统C++源代码
- 下一篇:opc c++ 客户端源码工程
评论
共有 条评论