DS-Lec-01-Introduction To DS
DS-Lec-01-Introduction To DS
Algorithms
1
RECOMMENDED BOOKS
C++ plus data Structures, Fifth Edition by Nell
Dale
Data Structures with C++ Schaum’s Outline
Series
2
Data and Information
Data can be defined as a representation of facts and concepts by
values.
Data is collection of raw facts.
3
Information
Information is organized or classified data, which has
some meaningful values for the receiver. Information is the
processed data on which decisions and actions are based.
4
Data Processing Cycle
5
Algorithm
6
Why Data Structures?
They are essential ingredients in creating fast
and powerful algorithms.
They help to manage the organize data.
They make code cleaner and easier to
understand.
7
Classification of Data Structure
Two broad categories of data structure are :
Primitive Data Structure
8
Primitive Data Structure
9
Non-Primitive Data Structure
10
Difference between
them
11
Classification of Data Structure
Data structure
Primitive DS Non-Primitive DS
12
Classification of Data Structure
Non-Primitive DS
Characterstic Description
In Linear data structures, the data items are arranged in a linear sequence.
Linear
Example: Array
In Non-Linear data structures, the data items are not in sequence. Example: Tree,
Non-Linear
Graph
Homogeneous In homogeneous data structures, all the elements are of same type. Example: Array
Non- In Non-Homogeneous data structure, the elements may or may not be of the same
Static data structures are those whose sizes and structures associated memory
Static
locations are fixed, at compile time. Example: Array
Dynamic structures are those which expand or shrink depending upon the program
Dynamic need and its execution. Also, their associated memory locations changes. Example:
Linked List created using pointers 14
Data Structure Operations
The most commonly used operation on data
structure are broadly categorized into
following types:
Create
Selection
Updating
Searching
Sorting
Merging
Delete
Insert
Description of various
Data Structures : Arrays
An array is defined as a set of finite number of
homogeneous elements or same data items.
It means an array can contain one type of data
only, either all integer, all float-point number or
all character.
16
Arrays
The elements of array will always be stored in
the consecutive (continues) memory location.
17
Arrays
Insertion of new element
Deletion of required element
Modification of an element
Merging of arrays
18
Lists
A lists (Linear linked list) can be defined as a
collection of variable number of data items.
An element of list must contain at least two
fields, one for storing data or information and
other for storing address of next element.
For storing address need a special data
structure of list that is pointer type.
19
Lists
Technically each such element is referred to as a
node, therefore a list can be defined as a
collection of nodes as show bellow:
[Linear Liked List]
Head
21
Stack
A stack is also an ordered collection of elements
like arrays, but it has a special feature that
deletion and insertion of elements can be done
only from one end called the top of the stack
(TOP)
Due to this property it is also called as last in first
out type of data structure (LIFO).
22
Stack
Insertion of element into stack is called
PUSH and deletion of element from stack is
called POP.
The bellow show figure how the operations
take place on a stack:
PUSH POP
[STACK] 23
Stack
The stack can be implemented into two
ways:
Using arrays (Static implementation)
24
Queue
Queue are first in first out type of data
structure (i.e. FIFO)
In a queue new elements are added to the
queue from one end called REAR end and
the element are always removed from other
end called the FRONT end.
The people standing in a railway reservation
row are an example of queue.
25
Queue
10 20 30 40 50
front rear 26
Queue
The queue can be implemented into two
ways:
Using arrays (Static implementation)
27
Trees
Tree is non-linear type of data
Tree represent the hierarchical relationship
between various elements.
28
Trees
29
Trees
The tree structure organizes the data into
branches, which related the information.
A root
B C
D E F G
30
Graph
Graph is a mathematical non-linear data
structure capable of representing many kind
of physical structures.
Definition: A graph G(V,E) is a set of
vertices V and a set of edges E.
31
Graph
An edge connects a pair of vertices and
many have weight such as length, cost and
another measuring instrument for according
the graph.
Vertices on the graph are shown as point or
circles and edges are drawn as arcs or line
segment.
32
Graph
Example of graph:
6
v2 v5
v1 v3
10
v1 8 11
15
9 v2
v3 v4 v4
Undirected graph
Simple graph
Weighted graph
Connected graph
Non-connected graph
34
OPERATIONS
35
MAJOR OPERATION
Traversing: Accessing each record exactly once so that certain
items in the record may be processed [ Also known as Visiting
the record]
Searching: Finding the location of the record with a given key
value, or finding the locations of all record which satisfy
one or more conditions
Inserting : Adding a new record to the structure
Deleting : Removing a record from the structure
Sorting: Arranging a list in some logical order.
Merging: Combing two list in a single list.
36
Abstract Data Type
37
Abstract data type (ADT)
Abstract data type (ADT) is a specification of a set of
data and the set of operations that can be performed on
the data. Each operation does a specific task.
38
Uses of ADT
39
List o f ADT’s:
1. Insertion at first, middle, last
2. Deletion at first, middle, last
3. Searching
4. Reversing
5. Traversing
6. Modifying the list,
7. Merging the list
40