• 浅谈KDTree


    前言

    \(KD-Tree\)是一个十分神奇的东西,其实本质上类似于一个\(K\)维的二叉搜索树

    核心思想

    \(KD-Tree\)的核心思想与\(BST\)是差不多的(插入等操作也都基本上一样)。

    唯一的区别就在于,它每次比较的是某一维度上的值。

    但是,与\(BST\)一样,\(KD-Tree\)也有可能会在某些情况下退化成一条链

    怎么办呢?

    呃,\(BST\)平衡树,我们的\(KD-Tree\)有... ...

    平衡KD-Tree(不存在的)

    其实,我们可以采用替罪羊树的思想,对不平衡的子树直接重构

    这样就能使复杂度较为稳定了。

    \(KD-Tree\)有什么用?

    呃,话说\(KD-Tree\)有什么用?

    其实\(KD-Tree\)的主要应用如下:

    所以,其实\(KD-Tree\)还是有很多用途的。

    后记

    \(KD-Tree\)的某些用法还是非常玄学的,强烈推荐去做一做文中提到的【BZOJ2648】SJY摆棋子一题,毕竟我是看到它是模板题才去做的

    败得义无反顾,弱得一无是处
  • 相关阅读:
    MYSQL之基本操作
    Python操作Mysql之基本操作
    编辑器
    iOS项目评估报告
    mac安装as配置
    屏幕适配
    CocoaPods配置步骤
    android网络监测
    获取通讯录
    json解析
  • 原文地址:https://www.cnblogs.com/chenxiaoran666/p/KDTree.html
Copyright © 2020-2023  润新知