博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Uniform Grid Quadtree kd树 Bounding Volume Hierarchy R树 搜索
阅读量:2117 次
发布时间:2019-04-30

本文共 1271 字,大约阅读时间需要 4 分钟。

Region 資料結構 : 

Uniform Grid

楔子

請你嘗試發掘,這一系列的資料結構是為了解決什麼問題呢?

Uniform Grid

嗯,就是方格紙。將整個世界劃分為等寬方格。

實作方式是一個二維陣列,對應方格紙。陣列每一格是一個串列,對應每個方格包含的資料。

資料可以是任何東西,例如點、線段、三角形。

如果資料跨據多個格子,那麼可以同時儲存於多個格子,或者只儲存於其中一個格子。隨你開心。

插入、刪除、搜尋的時間複雜度是 O(N) , N 為資料數量;然而,串列長度通常遠少於 N ,因此這種時間複雜度標記法缺乏意義。

Region 資料結構 : 

Quadtree

Bitree / Quadtree / Octree / Hextree

二元樹、四元樹、八元樹、十六元樹,分別是一、二、三、四維的版本。

以四元樹為例:分割平面為四等分,視情況可以遞迴分割下去,越分越細。

資料放在樹葉。資料可以是任何東西,例如點、線段、三角形。

插入、刪除、搜尋的時間複雜度是 O(N) , N 為資料數量;然而,樹的高度通常遠少於 N ,因此這種時間複雜度標記法缺乏意義。確切的時間複雜度難以估計,取決於樹深與分枝數。

UVa    

Region 資料結構 : 

k-Dimensional Tree

k-Dimensional Tree

額外繪製垂直線、水平線來分割區域。由於概念類似 KD-Tree ,所以大家沒有另起他名,直接沿用舊名。

此處的 KD-Tree ,注重每筆資料的邊界範圍;原本的 KD-Tree ,注重每個座標點的位置先後順序。兩者用途不一樣。

採 top-down 方式,依照某一個座標軸排序所有資料(通常是跨距最廣的那個座標軸),將資料等分為左右兩堆,遞迴分割下去。

插入、刪除、搜尋的時間複雜度是 O(N) , N 為資料數量;然而,樹的高度通常遠少於 N ,因此這種時間複雜度標記法缺乏意義。

缺點是:資料跨區時,不知該安置於哪區。除非資料是點。

Region 資料結構 : 

Bounding Volume Hierarchy

Bounding Interval Hierarchy / Bounding Region Hierarchy / Bounding Volume Hierarchy

BIH 、 BRH 、 BVH 分別是一、二、三維的版本。

採 top-down 方式,依照某一個座標軸排序所有資料(通常是跨距最廣的那個座標軸),將資料等分為左右兩堆,遞迴分割下去。

插入、刪除、搜尋的時間複雜度是 O(N) , N 為資料數量;然而,樹的高度通常遠少於 N ,因此這種時間複雜度標記法缺乏意義。

優點是:不必煩惱該安置於哪區。可以旋轉節點,令樹平衡。

UVa 

Region 資料結構 : 

R-Tree

R-Tree

Bounding Volume Hierarchy 與 B-Tree 合體。

from: http://www.csie.ntnu.edu.tw/~u91029/Region.html#3

转载地址:http://xmhef.baihongyu.com/

你可能感兴趣的文章
(PAT 1096) Consecutive Factors (质因子分解)
查看>>
(PAT 1019) General Palindromic Number (进制转换)
查看>>
(PAT 1073) Scientific Notation (字符串模拟题)
查看>>
(PAT 1080) Graduate Admission (排序)
查看>>
Play on Words UVA - 10129 (欧拉路径)
查看>>
mininet+floodlight搭建sdn环境并创建简答topo
查看>>
【linux】nohup和&的作用
查看>>
Set、WeakSet、Map以及WeakMap结构基本知识点
查看>>
【NLP学习笔记】(一)Gensim基本使用方法
查看>>
【NLP学习笔记】(二)gensim使用之Topics and Transformations
查看>>
【深度学习】LSTM的架构及公式
查看>>
【深度学习】GRU的结构图及公式
查看>>
【python】re模块常用方法
查看>>
剑指offer 19.二叉树的镜像
查看>>
剑指offer 20.顺时针打印矩阵
查看>>
剑指offer 21.包含min函数的栈
查看>>
剑指offer 23.从上往下打印二叉树
查看>>
剑指offer 25.二叉树中和为某一值的路径
查看>>
剑指offer 26. 数组中出现次数超过一半的数字
查看>>
剑指offer 27.二叉树的深度
查看>>