BSP Trees in Data Structure

Updated on 08-Jan-2020 10:48:57
In computer science, a method known as binary space partitioning (BSP) is implemented for recursively subdividing a space into two convex sets by implementing hyperplanes as partitions. This process of subdividing provides rise to a representation of objects within the region in the form of a tree data structure known as a BSP tree.Binary space partitioning was invented in the context of 3D computer graphics in 1969, where the structure of a BSP tree permits for spatial information about the objects in a scene that is useful in rendering, such as objects being ordered from front-to-back with respect to a ... Read More

Compressed Quadtrees and Octrees in Data Structure

Updated on 08-Jan-2020 10:43:52
Compressed QuadtreesAt the time of storing every node corresponding to a subdivided cell, we may end up storing a lot of empty nodes. Cutting down on the size of such sparse trees is possible by only storing subtrees whose leaves have interesting data (i.e. "important subtrees"). Again we can actually cut down on the size even further. When we only consider important subtrees, the pruning process may avoid long paths in the tree where the intermediate nodes have degree two (a link to one parent and one child). It turns out that we only require to store the node U ... Read More

Updated on 08-Jan-2020 10:29:03
The region quadtree is useful to represent a partition of space in two dimensions by breaking the region into four equal quadrants, subquadrants, and so on with each leaf node consisting of data corresponding to a specific subregion. Each node in the tree either is associated with exactly four children or no children (a leaf node). The height of quadtrees that follow this decomposition strategy (i.e. subdividing subquadrants until and unless there is interesting data in the subquadrant for which more refinement is required) is sensitive to and dependent on the spatial distribution of interesting areas in the space being ... Read More

Updated on 08-Jan-2020 10:27:18
The point quadtree is an adaptation of a binary tree implemented to represent 2-dimensional point data. Features of all quadtrees is shared by point quadtree.It is often very efficient in comparing 2-dimensional, ordered data points, usually executing in O(log n) time. Point quadtrees are valuable mentioning for completeness, but k-d trees surpass them as tools for generalized binary search.Point quadtrees are built as follows.Given the next point to insert, we compute the cell in which it lies and add it to the tree.The new point is added such that the cell that contains it is divided into quadrants by the ... Read More

Updated on 08-Jan-2020 10:21:11
Quadtrees are trees implemented to efficiently store data of points on a two-dimensional space. In this tree, each node has maximum four children.We can build a quadtree from a two-dimensional area implementing the following stepsThe current two dimensional space is divided into four boxes.If a box consists of one or more points in it, build a child object, storing in it the two dimensional space of the box.If a box does not contain any points, do not build a child for it.Perform recursion for each of the children.Quadtrees are implemented in image compression, where each node consists of the average ... Read More

Range Trees in Data Structure

Updated on 08-Jan-2020 10:20:27
A range tree is defined as an ordered tree data structure to hold a list of points. It permits all points within a given range to be efficiently retrieved, and is typically implemented in two or higher dimensions. It is same to a kd-tree except with faster query times of O(logd n + k) but worse storage of O(n logd-1 n), with d indicating the dimension of the space, n indicating the number of points in the tree, and k indicating the number of points retrieved for a given query. Range trees may be differentiated with interval trees: instead of ... Read More

Halfedge data structure

Updated on 08-Jan-2020 10:13:08
IntroductionA HDS for template parameters or halfedge data structure (abbreviated as HalfedgeDS) is defined as an edge-centered data structure capable of maintaining incidence information of vertices, edges and faces, such as for planar maps, polyhedra, or other orientable, two-dimensional surfaces embedded in random dimension. Each edge is broken into two halfedges with opposite orientations. Each halfedge stores one incident face and one incident vertex. One incident halfedge is stored for each face and each vertex. Reduced variants of the halfedge data structure can eliminate some of this information, such as the halfedge pointers in faces or the storage of faces ... Read More

Planar straight line graphs (PSLGs) in Data Structure

Updated on 07-Jan-2020 12:58:20
In case of computational geometry, a planar straight-line graph, in short PSLG, (or straight-line plane graph, or plane straight-line graph) is defined as a term implemented for an embedding of a planar graph in the plane such that its edges are mapped into straight line segments. Statement of Fáry's theorem (1948) is that every planar graph has this kind of embedding.In case of computational geometry, PSLGs have often been termed planar subdivisions, with an assumption or assertion that subdivisions are polygonal.Without vertices of degree 1, a PSLG defines a subdivision of the plane into polygonal regions and vice versa. Absence ... Read More

Rectangle Data in Data Structure

Updated on 07-Jan-2020 12:55:26
Multivariate cross-sectional data (i.e. not time-series or repeated measure) are indicated by rectangular data in which each column is a variable (feature), and each row is a case or record.First procedure of representing rectangle data is to map it onto a higher-dimensional point data and use point-based data structure procedures such as the grid file, PR quadtree, point quadtree, and k-d-tree. Procedure mapping of the rectangular data to a four-dimensional point can be performed in number techniques such as x and y coordinates of the opposite corners, or x and y coordinates of one corner and the width and height, ... Read More

Bucketing Methods in Data Structure

Updated on 07-Jan-2020 12:53:36
Bucketing builds, the hash table as a 2D array instead of a single dimensional array. Every entry in the array is big, sufficient to hold M items (M is not amount of data. Just a constant).ProblemsLots of wasted space are created.If M is exceeded, another strategy will need to be implemented.Not so good performer for memory based implementations but doable if buckets are disk-based.For bucketing it is ok to have λ>1. However, the larger λ is the higher a chance of collision. λ>1 guarantees there will be minimum 1 collision (pigeon hole principle). That will enhance both the run time ... Read More