- Algorithm
- Incremental Method
- Simulation
- Backtracking
- Dynamic Programming
- Largest Empty Interval
- Location Allocation Problem
- Knapsack Problem
- Algorithm Analysis
- Data
- Sort
- Set
- 排序资料结构: Search Tree 系列
- Sequence 资料结构: Array / List
- 大量 Point 资料结构: k-Dimensional Tree
- Region 资料结构: Uniform Grid
- Graph
- Tree 资料结构: Heavy-Light Decomposition
- Graph Spectrum(Under Construction!)
- Tree
- Binary Tree
- Directed Acyclic Graph
- Articulation Vertex / Bridge
- Reachability
- Bipartite Graph
- Clique(Under Construction!)
- Planar Graph
- Path
- Single Source Shortest Paths: Label Correcting Algorithm
- Shortest Walk
- Cycle
- Spanning Tree
- s-t Flow
- Feasible s-t Flow
- Cut
- Matching
- T-Join
- Hamilton Circuit
- Domination
- Coloring
- Labeling
- Vector Product
- Sweep Line
- Rectangle
- Rectangle
- Polygon
- Convex Hull
- 3D Convex Hull(Under Construction!)
- Half-plane Intersection
- Voronoi Diagram
- Triangulation
- Metric
- Number
- Sequence
- Function (ℝ)
- Matrix
- Root Finding
- Linear Equations
- Functional Equation
- Optimization
- Interpolation
- Curve
- Regression
- Estimation
- Clustering
- Transformation(Under Construction!)
- Wave (ℝ)
- Representation
- Signal
- State(Under Construction!)
- Markov Chain
- System(Under Construction!)
- Markov Model
- Function
- Gray Code
- Base
- Divisor
- Prime
- Residue
- Lattice
- Series(Under Construction!)
- Average Number
- Nim
- String
- Longest Increasing Subsequence
- Longest Common Subsequence
- Approximate String Matching
- String Matching
- String Matching
- String Matching: Inverted Index
- Count Substrings
- Palindrome
- Language
- Code
- Compression
- Correction
- Encryption
- Transmission
- Data
- Text
- 2D Graphics
- Audio
- Audition(Under Construction!)
- Image
- Vision(Under Construction!)
- Model
- Motion(Under Construction!)
- Camera(Under Construction!)
- Glass(Under Construction!)
- Computer
- Physics
- Biology
- Medicine
- Finance
- Education
- Standard Library
Region 资料结构: Uniform Grid
楔子
请你尝试发掘,这一系列的资料结构是为了解决什麽问题呢?
Uniform Grid
嗯,就是方格纸。将整个世界划分为等宽方格。
实作方式是一个二维阵列,对应方格纸。阵列每一格是一个串列,对应每个方格包含的资料。
资料可以是任何东西,例如点、线段、三角形。
如果资料跨据多个格子,那麽可以同时储存于多个格子,或者只储存于其中一个格子。随你开心。
插入、删除、搜寻的时间複杂度是 O(N),N 为资料数量;然而,串列长度通常远少于 N,因此这种时间複杂度标记法缺乏意义。
Region 资料结构: Quadtree
Bitree / Quadtree / Octree / Hextree
二元树、四元树、八元树、十六元树,分别是一、二、三、四维的版本。
以四元树为例:分割平面为四等分,视情况可以递迴分割下去,越分越细。
资料放在树叶。资料可以是任何东西,例如点、线段、三角形。
插入、删除、搜寻的时间複杂度是 O(N),N 为资料数量;然而,树的高度通常远少于 N,因此这种时间複杂度标记法缺乏意义。确切的时间複杂度难以估计,取决于树深与分枝数。
UVa 297 806 11941 11948
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 12312 ICPC 7605
Region 资料结构: R-Tree
R-Tree
Bounding Volume Hierarchy 与 B-Tree 合体。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论