Monday 8 August 2011

Data Structures through c++

In computer science, a data structure is a particular way of storing and organizing data in a computer so that it can be used efficiently.
Different kinds of data structures are suited to different kinds of applications, and some are highly specialized to specific tasks.
For example, B+ trees  are particularly well-suited for implementation of databases, while compiler implementations usually use hash tables to look up identifiers.
Data structures provide a means to manage huge amounts of data efficiently, such as large databases and internet indexing services.
Usually, efficient data structures are a key to designing efficient algorithms. Some formal design methods and programming languages emphasize data structures, rather than algorithms, as the key organizing factor in software design. Storing and retrieving can be carried out on data stored in both main memory and in secondary memory. Various Data Structures are available that are needed to be employed based on the need.
The ways in which data is stored is called the structure of data.

Data structures provide a means to manage large amounts of data efficiently, such as large databases and internet indexing services. Usually, efficient data structures are a key in designing efficient algorithms. Some formal design methods and programming languages emphasize data structures, rather than algorithms, as the key organizing factor in software design. Storing and retrieving can be carried out on data stored in both main memory and in secondary memory

What is Linear Data Structure?

Linear data structure is linear if element (data) is adjacent to each other. It has exactly two
neighbors elements to which it is connected as its previous and next member.
A linear data structure traverses the data elements sequentially, in which only one data element can directly be reached. Ex: Arrays, Linked Lists


What is Non-Linear Data Structure?

Non-Linear data structure is that if one element can be connected to more than two
adjacent element then it is known as non-linear data structure.

Every data item is attached to several other data items in a way that is specific for reflecting relationships. The data items are not arranged in a sequential structure. Ex: Trees, Graphs

Operations on Data Structures
The basic operations that are performed on data structures are as follows:
Insertion:

Insertion means addition of a new data element in a data structure.
Deletion:

Deletion means removal of a data element from a data structure if it is found.
Searching:

Searching involves searching for the specified data element in a data structure.
Traversal:

Traversal of a data structure means processing all the data elements present in it.
Sorting:

Arranging data elements of a data structure in a specified order is called sorting.
Merging:

Combining elements of two similar data structures to form a new data structure of the same type, is called merging


1. Linked list  



Stacks:



Sorting
Motivation
Quick sort
Merge sort
Insertion sort

Searching Techniques


Sequential Search




Introduction
Representation of Trees
Binary Trees

Binary Tree Traversal and Tree Iterators
Additional Binary Tree Operations
Threaded Binary Trees
Binary Search Trees

·     BST


Selection Trees.


Graphs
The Graph Abstract Data type
Elementary Graph Operations

Skip Lists and Hashing
Linear List Representation
Skip List Representation
Hash Table Representation
Static and Dynamic Hashing


Priority Queues
Defination and Applications
Single and Double Ended Priority Queues
Linear Lists
Heaps
Leftist Trees
Binomial Heaps
Fibonacci Heaps
Pairing Heaps

Efficient Binary Search Trees
Optimal Binary search trees
Red-Black Trees
Splay Trees

Multiway Search Trees
m-way search Trees
B-Trees,




  



Reference Books:
1. Sartaj Sahni
2. Rajani Zindal
3. Data Structures and Program By Robert L.Kruse, Bruce P.Lenner
4. Tenenbaum 



flowchart

No comments:

Post a Comment