Wednesday, March 4, 2009

SEARCHED

THE 10 DEFINITIONS OF DATA STRUCTURES
1. Data structures are facts fed to the computer, they are stored in the computer, when presented and organized in a uniform manner it becomes useful information which can be retrieve by the user. Data structure are containers of data or information. Through these data structures information or data or elements are safely store and kept inside the computer.

2. A data structure is a group of data elements grouped together under one name. These data elements, known as members, can have different types and different lengths.

3. Data structure means how the data is organized in memory. There is different kind of data structures. Some are used to store the data of same type and some are used to store different types of data.

4. A data structure is a specialized format for organizing and storing data. General data structure types include the array, the file, the record, the table, the tree, and so on. Any data structure is designed to organize data to suit a specific purpose so that it can be accessed and worked with in appropriate ways. In computer programming, a data structure may be selected or designed to store data for the purpose of working on it with various algorithms.
http://searchsqlserver.techtarget.com/sDefinition/0,,sid87_gci804744,00.html

5. A data structure in computer science is a way of storing data in a computer so that it can be used efficiently. It is an organization of mathematical and logical concepts of data. Often a carefully chosen data structure will allow the most efficient algorithm to be used. The choice of the data structure often begins from the choice of an abstract data type.
http://en.wikipedia.org/wiki/Data_structure

6. In programming, the term data structure refers to a scheme for organizing related pieces of information.
http://www.webopedia.com/TERM/D/data_structure.html

7. A data structure is a specialized format for organizing and storing data. General data structure types include the array, the file, the record, the table, the tree, and so on. Any data structure is designed to organize data to suit a specific purpose so that it can be accessed and worked with in appropriate ways. In computer programming, a data structure may be selected or designed to store data for the purpose of working on it with various algorithms.

8. An organization of information, usually in memory, for better algorithm efficiency, such as queue, stack, linked list, heap, dictionary, and tree, or conceptual unity, such as the name and address of a person. It may include redundant information, such as length of the list or number of nodes in a subtree.
http://www.itl.nist.gov/div897/sqg/dads/HTML/datastructur.html

9. A data structure is a group of data elements grouped together under one name.
http://www.cplusplus.com/doc/tutorial/structures.html

10. A collection of data components that are constructed in a regular and characteristic way.
http://www.answers.com/topic/data-structure

THE THREE DATA STRUCTURES:
1. HASH TABLE-a hash table, or a hash map, is a data structure that associates keys with values.
TYPE OF DATA STORAGE:
A hash table works by transforming the key using a hash function into a hash, a number that is used as an index in an array to locate the desired location ("bucket") where the values should be. The number is normally converted into the index by taking a modulo operation, or sometimes bit masking is used where the array size is a power of two. The optimal hash function for any given use of a hash table can vary widely, however, depending on the nature of the key.

Typical operations on a hash table include insertion, deletion and lookup (although some hash tables are precalculated so that no insertions or deletions, only lookups are done on a live system). These operations are all performed in amortized constant time, which makes maintaining and accessing a huge hash table very efficient.

It is also possible to create a hash table statically where, for example, there is a fairly limited fixed set of input values - such as the values representable by a single byte (or possibly two bytes ) from which an index can be constructed directly (see section below on creating hash tables). The hash table can also be used simultaneously for tests of validity on the values that are disallowed.

TYPE OF RETRIEVAL:
Hash tables store data in pseudo-random locations, so accessing the data in a sorted manner is a very time consuming operation. Other data structures such as self-balancing binary search trees generally operate more slowly (since their lookup time is O(log n)) and are rather more complex to implement than hash tables but maintain a sorted data structure at all times. See a comparison of hash tables and self-balancing binary search trees.

2. ZIPPER-a purely functional data structure used in functional programming to solve some problems in a way that uses notions like “context” and “hole”. It is related to the generalization of the notion of “derivative” (for types). The zipper was described by Gerard Huet in 1997. It has some conceptual similarity to the gap buffer technique sometimes used with arrays.

Zippers are multidimensional in the sense that they can be used as lists or trees by placing additional restrictions upon them. Such derived data structures are usually referred to by saying a tree with zipper or a list with zipper to give the image that the structure is a tree or a list, with a zip slider attach to it as an afterthought.

TYPE OF DATA STORAGE:
The ideas of zero, addition, multiplication, and exponentiation known from the area of arithmetic have analogies in set theory, category theory, and type theory. For example, here is a small list of set theoretical pairings:

The empty set (analogous to zero)

The cartesian product of the sets A and B (analogous to multiplication)

the set of n-tuples of elements of the set A (analogous to n-power)

the set of functions from A to B (analogous to exponentiation)
(sometimes written as or )
Also


can be defined for sets as a fruitful concept (analogous to addition). It is something similar to the disjoint union of sets, but it uses labels to achieve a partition-like construct [1]. There are analogous constructs for types, too (see also typeful functional programming languages), used for case analysis.

TYPE OF DATA RETRIEVAL:
Several programming languages have parametric type constructs. They are used in a natural way in functional programming and have firm theoretical foundations, see type theory.

If we continue using the set theoretical analogies: we have a notion of constructing from a set another set. In many specific cases, these can be grasped as polynomial constructs of sets, where multiplication, addition, power correspond to the appropriate set-theoretic operations.

F(X) = X3
“makes” an appropriate set of triples from the set given in the argument:


3. SKIP LIST-A skip list is a probabilistic data structure, based on multiple parallel, sorted linked lists, with efficiency comparable to a binary search tree (order log n average time for most operations).

Underlying the skip list is an augmentation of an ordered linked list with additional forward links, added in a randomized way with a geometric/negative binomial distribution, so that a search in the list may quickly skip parts of the list (hence the name). Insert, search and delete operations are performed in logarithmic randomized time.

TYPE OF DATA STORAGE:
A skip list is built in layers. The bottom layer is an ordinary ordered linked list. Each higher layer acts as an "express lane" for the lists below, where an element in layer i appears in layer i+1 with some fixed probability p (two commonly-used values for p are 1/2 or 1/4). On average, each element appears in 1/(1-p) lists, and the tallest element (usually a special head element at the front of the skip list) in lists.

TYPE OF DATA RETRIEVAL:
A search for a target element begins at the head element in the top list, and proceeds horizontally until the current element is greater than or equal to the target. If the current element is equal to the target, it has been found. If the current element is greater than the target, the procedure is repeated after returning to the previous element and dropping down vertically to the next lower list. The expected number of steps in each linked list is 1/p, which can be seen by tracing the search path backwards from the target until reaching an element that appears in the next higher list. Therefore, the total expected cost of a search is which is when p is a constant. By choosing different values of p, it is possible to trade search costs against storage costs.

Followers