资源简介
C#实现KD树建立,最近邻点搜索,采用BBF进行了K近邻搜索优化
代码片段和文件信息
//
//******************************************************************
//使用说明:
//1.必须先建立KD树,List类型作为CreatKDTree()的输入参数
//2.可以使用KD或BBF查找最近邻点KDTreeFindNearest()、BBFFindNearest()
//3.使用BBf查找k个最近邻点KNNByBBF()
//
//代码是对 http://download.csdn.net/detail/jjp837661103/5874937 进行的
//修改,增加了K近邻搜索,感谢jjp837661103的专栏附上其博客地址:
//http://blog.csdn.net/jjp837661103/article/details/9768751
//申明:若侵权,请留言,以删除 ---2016.2
//******************************************************************
//
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace outlineExtract
{
///
/// 树类
///
public class Node
{
///
/// 节点信息
///
public Train point{get;set;}
///
/// 左子树
///
public Node leftNode { get; set; }
///
/// 右子树
///
public Node righNode { get; set; }
///
/// 分割的方向轴序号
///
public int split { get; set; }
///
/// 父节点
///
public Node parent { get; set; }
///
/// 空间节点
///
public List range { get; set; }
}
///
/// 节点类
///
public class Train
{
public double positionX { get; set; }
public double positionY { get; set; }
public double positionZ { get; set; }
public Int32 AvgRssi { set; get; }
}
///
///节点优先
///
public class PriorityList
{
public Node node { get; set; }
public double priority { get; set; }
}
///
/// k最近邻点
///
public class KNearestPoint
{
public Node node { get; set; }
public double distance { get; set; }
}
///
/// KD树
///
public class KDTree
{
private Dictionary clientRSSI;
private List priorityList = new List(); //优先队列
public List kNearestList = new List();//K最近邻点
public KDTree()
{
clientRSSI = new Dictionary();
clientRSSI.Add(“0060B3139D94“ -34);
clientRSSI.Add(“002389B9AE6A“ -46);
clientRSSI.Add(“0060B313A299“ -67);
priorityList.Clear(); //清空队列
}
#region 创建KD树
///
/// 创建KD树
///
/// 点集
/// KD树
public Node CreatKDTree(List train)
{
//创建节点
Node node = new Node();
node.range = train;
if (
相关资源
- C# 软件版本更新
- C#屏幕软键盘源码,可以自己定制界面
- 智慧城市 智能家居 C# 源代码
- c#获取mobile手机的IMEI和IMSI
- C#实现简单QQ聊天程序
- 操作系统 模拟的 欢迎下载 C#版
- C#写的计算机性能监控程序
- 用C#实现邮件发送,有点类似于outlo
- MVC model层代码生成器 C#
- c#小型图书销售系统
- C# Socket Server Client 通讯应用 完整的服
- c# winform 自动登录 百度账户 源代码
- C#编写的16进制计算器
- C#TCP通信协议
- C# 数据表(Dataset)操作 合并 查询一
- C#语音识别系统speechsdk51,SpeechSDK51L
- 数据库备份还原工具1.0 C# 源码
-
[免费]xm
lDocument 节点遍历C# - EQ2008LEDc#开发实例
- DirectX.Capturec# winform 操作摄像头录像附
- c# 实现的最大最小距离方法对鸢尾花
- C#版保龄球记分代码
- C#自定义控件
- 基于c#的实验室设备管理系统621530
- C# 使用ListView控件实现图片浏览器(源
- C#简单窗体聊天程序
- C#指纹识别系统程序 报告
- c# 高校档案信息管理系统
- c#向word文件插入图片
- C#左侧导航菜单(动态生成)
评论
共有 条评论