资源简介
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# winform 子窗体调用父窗体函数实现关
- 用C#做个简单的计时器秒表功能
- C#完成DDA算法的实现
-
xm
l文件操作 C#源码 - c#软件雷塞运动控制卡点动程序
- C#高级编程第9版
- vs2010c#的arcengine按属性选择,并把选择
- vs2010c#开发arcengine实现按属性选择和按
- 最短路径算法c# 最短路径算法
- C#下开发HID设备的源码+
- 基于C#net4.5实现最简单的websocket客户端
- C#2.0进程CPU占用率
- C#模拟实现自动化测试架构
- 网络文件传送 c#源码
- C# 写的CDT 规约解析 并打包发送程序
- (C#)局域网二人军棋对战游戏
- C#实现udp打洞客户端与服务器端源码
- 图像处理代码C# 平滑去噪、锐化、伪
- ENVI的BSQ BIL BIP三种栅格格式转换的C
- C#画图软件
- C#微信带参二维码海报
- C#利用DirectSound实现PCM音频流保存为
- wpf实现的手画板
- C#实现二维矢量图编辑
- C#键盘鼠标模拟 Windows Input Simulator
- c#udp文件传输
- chart控件,实时趋势,C#程序,可以设
- C#使用webBrowser控件获取URL图片
- C#简单矢量作图系统
-
基于C#的 读取xm
l数据的GDI画图 程序
评论
共有 条评论