Found 217 Articles for Analysis of Algorithms

Overflow Handling in Data Structure

Arnab Chakraborty
Updated on 08-Jan-2020 11:32:24
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
Updated on 08-Jan-2020 11:26:15
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
Updated on 08-Jan-2020 11:23:37
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

Time and Space Complexity in Data Structure

Arnab Chakraborty
Updated on 08-Jan-2020 11:15:08
Algorithm AnalysisAnalysis of efficiency of an algorithm can be performed at two different stages, before implementation and after implementation, asA priori analysis − This is defined as theoretical analysis of an algorithm. Efficiency of algorithm is measured by assuming that all other factors e.g. speed of processor, are constant and have no effect on implementation.A posterior analysis − This is defined as empirical analysis of an algorithm. The chosen algorithm is implemented using programming language. Next the chosen algorithm is executed on target computer machine. In this analysis, actual statistics like running time and space needed are collected.Algorithm analysis is ... Read More

Algorithm Specification-Introduction in Data Structure

Arnab Chakraborty
Updated on 08-Jan-2020 11:11:31
An algorithm is defined as a finite set of instructions that, if followed, performs a particular task. All algorithms must satisfy the following criteriaInput. An algorithm has zero or more inputs, taken or collected from a specified set of objects.Output. An algorithm has one or more outputs having a specific relation to the inputs.Definiteness. Each step must be clearly defined; Each instruction must be clear and unambiguous.Finiteness. The algorithm must always finish or terminate after a finite number of steps.Effectiveness. All operations to be accomplished must be sufficiently basic that they can be done exactly and in finite length.We can ... Read More

Data objects and Structures

Arnab Chakraborty
Updated on 08-Jan-2020 11:08:19
Basic conceptData structures are defined as special classes implemented to hold data only, i.e. Pure models, e.g. Car, Kid, Animal, Event, Employee, Company, Customer ...etc. Those data are generally declared or considered as instance variables in other classes beginnings.The methods of this class should not perform any real significant work, otherwise the data structure class is not a data structure anymore!So mainly, the methods are getters and setters (i.e. accessors and mutators), generally because the instance variables are treated as private. There is alternative opinion: that Data structure variables should be public, and can be accessed directly from the instance ... Read More

Kinetic Data Structures

Arnab Chakraborty
Updated on 08-Jan-2020 11:02:46
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
Updated on 08-Jan-2020 11:00:51
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
Updated on 08-Jan-2020 10:58:06
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
Updated on 08-Jan-2020 10:55:30
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