Articles on Trending Technologies

Technical articles with clear explanations and examples

Maximum element in a very large array using pthreads in C++

Narendra Kumar
Narendra Kumar
Updated on 10-Jan-2020 583 Views

Problem statementGiven a very large array of integers, find maximum within the array using multithreadingExampleIf input array is {10, 14, -10, 8, 25, 46, 85, 1673, 63, 65, 93, 101, 125, 50, 73, 548} thenmaximum element in this array is 1673AlgorithmLet us call array size as total_elementsCreate N threadsEach thread will process (total_elementes/N) array elements and will find maximum element from it.Finally compute the maximum from the maximum value reported by each thread.Example#include #include #include #include #define MAX 10 #define SIZE(arr) (sizeof(arr) / sizeof(arr[0])) typedef struct struct_max {    int start;    int end;    int thread_num; } ...

Read More

Overflow Handling in Data Structure

Arnab Chakraborty
Arnab Chakraborty
Updated on 08-Jan-2020 9K+ Views

An overflow occurs at the time of the home bucket for a new pair (key, element) is full.We may tackle overflows bySearch the hash table in some systematic manner for a bucket that is not full.Linear probing (linear open addressing).Quadratic probing.Random probing.Eliminate overflows by allowing each bucket to keep a list of all pairs for which it is the home bucket.Array linear list.Chain.Open addressing is performed to ensure that all elements are stored directly into the hash table, thus it attempts to resolve collisions implementing various methods.Linear Probing is performed to resolve collisions by placing the data into the next ...

Read More

Binary Tree ADT in Data Structure

Arnab Chakraborty
Arnab Chakraborty
Updated on 08-Jan-2020 11K+ Views

Basic conceptA binary tree is defined as a tree in which no node can have more than two children. The highest degree of any node is two. This indicates that the degree of a binary tree is either zero or one or two.In the above fig., the binary tree consists of a root and two sub trees TreeLeft & TreeRight. All nodes to the left of the binary tree are denoted as left subtrees and all nodes to the right of a binary tree are referred to as right subtrees.ImplementationA binary tree has maximum two children; we can assign direct ...

Read More

ADT-array Representation in Data Structure

Arnab Chakraborty
Arnab Chakraborty
Updated on 08-Jan-2020 9K+ Views

Basic conceptADT indicates for Abstract Data Type.Arrays are defined as ADT’s because they are capable of holding contiguous elements in the same order. And they permitaccess for the specific element via index or position.They are abstract because they can be String, int or Personint[] arrA = new int[1]; String[] arrB = new String[1]; Person[] arrC = new Person[3]; // where Person is treated as a defined classAdvantagesFast, random access of items or elements.Very memory efficient, very little memory is needed other than that needed to store the contents.DisadvantagesSlow insertion and deletion of elementsArray size must be known when the array ...

Read More

Kinetic Data Structures

Arnab Chakraborty
Arnab Chakraborty
Updated on 08-Jan-2020 847 Views

Basic conceptA kinetic data structure is defined as a data structure implemented to track an attribute of a geometric system that is moving continuously. For example, a kinetic convex hull data structure tracks the convex hull of a group of n moving points.The development of kinetic data structures was inspired by computational geometry problems involving physical objects in continuous motion, for example collision or visibility detection in robotics, animation or computer graphics.OverviewKinetic data structures are implemented on systems where there is a set of values that are changing as a function of time, in a called fashion. So the system ...

Read More

Hilbert Tree in Data Structure

Arnab Chakraborty
Arnab Chakraborty
Updated on 08-Jan-2020 817 Views

Hilbert R-tree, an R-tree variant, is defined as an index for multidimensional objects such as lines, regions, 3-D objects, or high-dimensional feature-based parametric objects. It can be imagined as an extension to B+-tree for multidimensional objects.R-trees' performance depends on the quality of the algorithm that clusters the data rectangles on a node. Hilbert R-trees implement space-filling curves, and specifically the Hilbert curve, for imposing a linear ordering on the data rectangles.Hilbert R-trees are of two types: one for static databases, and one for dynamic databases. In both cases Hilbert space-filling curves are implemented to achieve better ordering of multidimensional objects ...

Read More

R* Tree in Data Structure

Arnab Chakraborty
Arnab Chakraborty
Updated on 08-Jan-2020 793 Views

Basic conceptIn case of data processing, R*-trees are defined as a variant of R-trees implemented for indexing spatial information.R*-trees have slightly larger construction cost than standard R-trees, as the data may require to be reinserted; but the resulting tree will generally have a better query performance. Same as the standard R-tree, it can store both point and spatial data. Concept of R*-tree was proposed by Norbert Beckmann, Hans-Peter Kriegel, Ralf Schneider, and Bernhard Seeger in 1990.Difference between R*-trees and R-treesR*-Tree is constructed by repeated insertion. There is little (i.e. almost no) overlap in this tree, resulting in good query performance. ...

Read More

Converting B-Reps to Trees in Data Structure

Arnab Chakraborty
Arnab Chakraborty
Updated on 08-Jan-2020 204 Views

1 B-rep StreamsIt is clearly stated to set up a producer process importing a B-rep, externally defined by some standard polygonal format, e.g. either a wave front or java3D obj file, into an input stream for our geometric pipeline. The boundary representation provided by polygons and normal must be coherently oriented. A filtering of the input file to cope with nonplanar polygons and other geometric inaccuracies may be required for generally archived geometric models implemented primarily in computer graphics. The output stream of coherently-oriented triangles, is then transformed into our twin progressive-BSP (Binary Search Partitioning) trees by the algorithmic steps ...

Read More

BSP Trees as a Multi-Dimensional Search Structure

Arnab Chakraborty
Arnab Chakraborty
Updated on 08-Jan-2020 278 Views

Spatial search structures are based on the same ideas that were invented in Computer Science during the 60's and 70's for solving the problem of quickly processing large sets of symbolic data, as opposed to geometric data, for example lists of people's names. It was invented that by first sorting a list of names according to alphabet, and storing the sorted list in an array, one can compute whether some new name is already in the list in log2n operations using a binary search algorithm, rather than n/2 expected operations required with the help of a sequential search. This is ...

Read More

Compressed Quadtrees and Octrees in Data Structure

Arnab Chakraborty
Arnab Chakraborty
Updated on 08-Jan-2020 2K+ Views

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
Showing 55721–55730 of 61,297 articles
Advertisements