当前位置: 首页 > news >正文

烟台市福山区住房和建设局网站建设网站建设多少钱

烟台市福山区住房和建设局网站,建设网站建设多少钱,wordpress查看爆破着ip,html整个页面添加背景图片KD树#xff08;K-Dimensional Tree#xff09;是一种用于多维空间的二叉树数据结构#xff0c;旨在提供高效的数据检索。KD树在空间搜索和最近邻搜索等问题中特别有用#xff0c;允许在高维空间中有效地搜索数据点。 重要性质 1.分割K维数据空间的数据结构 2.是一颗二叉树…KD树K-Dimensional Tree是一种用于多维空间的二叉树数据结构旨在提供高效的数据检索。KD树在空间搜索和最近邻搜索等问题中特别有用允许在高维空间中有效地搜索数据点。 重要性质 1.分割K维数据空间的数据结构 2.是一颗二叉树 3.切分维度上左子树值小于右子树值 #include iostream #include vector #include algorithm #include cmath// 定义二维点的结构体 struct Point2D {double x;double y;Point2D(double _x, double _y) : x(_x), y(_y) {} };// 定义KD树节点 struct KDTreeNode {Point2D point;KDTreeNode* left;KDTreeNode* right;KDTreeNode(Point2D _point) : point(_point), left(nullptr), right(nullptr) {} };class KDTree { private:KDTreeNode* root;// 构建KD树的递归函数KDTreeNode* buildKDTree(std::vectorPoint2D points, int depth) {if (points.empty()) {return nullptr;}// 选择轴线交替选择x和y坐标int axis depth % 2;// 按轴线排序点if (axis 0) {std::sort(points.begin(), points.end(), [](const Point2D a, const Point2D b) {return a.x b.x;});} else {std::sort(points.begin(), points.end(), [](const Point2D a, const Point2D b) {return a.y b.y;});}// 选择中间点作为节点int median points.size() / 2;KDTreeNode* node new KDTreeNode(points[median]);// 递归构建左子树和右子树std::vectorPoint2D leftPoints(points.begin(), points.begin() median);std::vectorPoint2D rightPoints(points.begin() median 1, points.end());node-left buildKDTree(leftPoints, depth 1);node-right buildKDTree(rightPoints, depth 1);return node;}// 在KD树中查找最近邻点的递归函数KDTreeNode* findNearestNeighbor(KDTreeNode* node, Point2D target, int depth, KDTreeNode* best, double bestDistance) {if (node nullptr) {return best;}// 计算当前节点到目标点的距离double currentDistance distance(node-point, target);// 更新最近邻点和距离if (currentDistance bestDistance) {best node;bestDistance currentDistance;}// 选择子树int axis depth % 2;KDTreeNode* nearSubtree;KDTreeNode* farSubtree;if (axis 0) {if (target.x node-point.x) {nearSubtree node-left;farSubtree node-right;} else {nearSubtree node-right;farSubtree node-left;}} else {if (target.y node-point.y) {nearSubtree node-left;farSubtree node-right;} else {nearSubtree node-right;farSubtree node-left;}}// 递归搜索更近的子树best findNearestNeighbor(nearSubtree, target, depth 1, best, bestDistance);// 如果可能搜索更远的子树if (shouldSearchFarSubtree(node, target, bestDistance)) {best findNearestNeighbor(farSubtree, target, depth 1, best, bestDistance);}return best;}// 计算两点之间的欧几里得距离double distance(Point2D a, Point2D b) {double dx a.x - b.x;double dy a.y - b.y;return std::sqrt(dx * dx dy * dy);}// 检查是否需要搜索更远的子树bool shouldSearchFarSubtree(KDTreeNode* node, Point2D target, double bestDistance) {int axis node-point.x target.x ? 0 : 1; // 如果轴线是x则比较x坐标如果轴线是y则比较y坐标double nodeDistance axis 0 ? node-point.x - target.x : node-point.y - target.y;return nodeDistance * nodeDistance bestDistance;}public:KDTree(std::vectorPoint2D points) {root buildKDTree(points, 0);}// 查找最近邻点Point2D findNearestNeighbor(Point2D target) {double bestDistance std::numeric_limitsdouble::max();KDTreeNode* bestNode findNearestNeighbor(root, target, 0, nullptr, bestDistance);return bestNode-point;} };int main() {// 创建一些二维点std::vectorPoint2D points {{2.0, 3.0},{5.0, 4.0},{9.0, 6.0},{4.0, 7.0},{8.0, 1.0},{7.0, 2.0}};// 构建KD树KDTree kdTree(points);// 查找最近邻点Point2D target(9.0, 2.0);Point2D nearestNeighbor kdTree.findNearestNeighbor(target);std::cout The nearest neighbor to ( target.x , target.y ) is ( nearestNeighbor.x , nearestNeighbor.y ) std::endl;return 0; }
http://www.pierceye.com/news/33798/

相关文章:

  • 网站活动页面设计重庆app定制
  • 毛网商城手机优化软件
  • 企业网站系统那个好制作网站监控推荐
  • 垂直电商网站建设方案韩国小清新网站模板
  • 网站安全建设经费保障网站上的验证码怎么做
  • 优美网站源码河北网站建设报价
  • 医疗网站建设流程网站seo快速
  • 大连网站建设选高合科技网页网站设计培训
  • 玉林做绿化苗木网站的是哪个单位网站的推广和宣传工作如何做
  • 中小型网站建设市场国外最大的设计网站
  • 安徽做网站公司哪家好一点北京最好的网站建设
  • 希音电商网站房间装修风格
  • 北京做网站哪家公司好手机端做网站软件
  • 深圳市住房和城乡和建设局网站济宁市建设工程质量监督站网站
  • 那个公司建站好临沂网站建设举措
  • app平台网站搭建电商是做什么行业的
  • wamp网站开发wordpress togetherjs
  • 手机网站开发最好用的框架网页版传奇开服
  • 商务网站建设与维护课程网页制作专业以后好找工作吗
  • 网站建设网页制作多少钱免费在线建站
  • 百度权重4网站值多少钱建网站与发布网站
  • 织梦如何做网站留言功能做网站需要交钱吗
  • 宁波做网站制作哈尔滨模板建站品牌
  • 男人和女人做不可描述的事情的网站网站刷流量会怎么样
  • php企业网站跨境电商主要平台有哪些
  • 如何提高景区旅游网站建设做网站需要的流程
  • 网站制作多少费用php7与WordPress
  • 郑州网站关键词优化公司长春做网站选长春万网
  • 全球军事网站网站的基本概念
  • 山西建站推广登录qq网页版