• 大小: 12KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-01-07
  • 标签: 机器学习  KNN  KD树  

资源简介

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


评论

共有 条评论