KEMBAR78
data structure algorithm example and example | PPT
Introduction to
Data Structure
MD. JAKARIA
LECTURER
DEPT. OF CSE, MIST
Definition
Data structure is representation of the logical
relationship existing between individual
elements of data.
In other words, a data structure is a way of
organizing all data items that considers not
only the elements stored but also their
relationship to each other.
Introduction
Data structure affects the design of both
structural & functional aspects of a program.
Program = algorithm + Data Structure
A algorithm is a step by step procedure to
solve a particular function.
Introduction
Algorithm is a set of instruction written to
carry out certain tasks and the data structure
is the way of organizing the data with their
logical relationship retained.
To develop a program of an algorithm, we
should select an appropriate data structure
for that algorithm.
Therefore algorithm and its associated data
structures from a program.
Classification of Data Structure
Data structure are normally divided into two broad
categories:
◦ Primitive Data Structure
◦ Non-Primitive Data Structure
Classification of Data Structure
Data structure
Primitive DS Non-Primitive DS
Integer Float Character Pointer
Float
Integer Float
Classification of Data Structure
Non-Primitive DS
Linear List Non-Linear List
Array
Link List Stack
Queue Graph Trees
Primitive Data Structure
There are basic structures and directly
operated upon by the machine instructions.
In general, there are different representation
on different computers.
Integer, Floating-point number, Character
constants, string constants, pointers etc., fall
in this category.
Non-Primitive Data Structure
There are more sophisticated data
structures.
These are derived from the primitive data
structures.
The non-primitive data structures emphasize
on structuring of a group of homogeneous
(same type) or heterogeneous (different
type) data items.
Non-Primitive Data Structure
Lists, Stack, Queue, Tree, Graph are example
of non-primitive data structures.
The design of an efficient data structure must
take operations to be performed on the data
structure.
Non-Primitive Data Structure
The most commonly used operation on data structure
are broadly categorized into following types:
◦ Create
◦ Selection
◦ Updating
◦ Searching
◦ Sorting
◦ Merging
◦ Destroy or Delete
Differences
A primitive data structure is generally a basic
structure that is usually built into the language,
such as an integer, a float.
A non-primitive data structure is built out of
primitive data structures linked together in
meaningful ways, such as a or a linked-list, binary
search tree, AVL Tree, graph etc.
Descriptions: 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.
Arrays
Simply, declaration of array is as follows:
int arr[10]
Where int specifies the data type or type of
elements arrays stores.
“arr” is the name of array & the number specified
inside the square brackets is the number of
elements an array can store, this is also called sized
or length of array.
Arrays
Following are some of the concepts to be
remembered about arrays:
◦ The individual element of an array can be
accessed by specifying name of the array,
following by index or subscript inside square
brackets.
◦ The first element of the array has index zero[0].
It means the first element and last element will
be specified as: arr[0] and arr[9] respectively.
Arrays
◦ The elements of array will always be stored in the
consecutive (continues) memory location.
◦ The number of elements that can be stored in an
array, that is the size of array or its length is given
by the following equation:
(Upperbound-lowerbound)+1
Arrays
◦ For the above array it would be ( 9 – 0 ) + 1 = 10
where 0 is the lower bound of array and 9 is the
upper bound of array.
◦ Array can always be read or written through loop.
If we read a one-dimensional array it require one
loop for reading and other for writing the array.
Arrays
◦ For example: Reading an array
for(i=0; i <= 9; i++)
scanf(“%d”,&arr[i]);
◦ For example: Writing an array
for(i=0; i<=9; i++)
printf(“%d”,arr[i]);
Arrays
◦ If we are reading or writing two-dimensional array
it would require two loops. And similarly the array
of a N dimension would required N loops.
◦ Some common operation performed on array are:
◦ Creation of an array
◦ Traversing an array
Arrays
◦Insertion of new element
◦Deletion of required element
◦Modification of an element
◦Merging of arrays
Lists
A lists (Linear linked list) can be defined as a
collection of variable number of data items.
Lists are the most commonly used non-primitive
data structures.
An element of list must contain at least two fields,
one for storing data or information and other for
storing address of next element.
As you know for storing address we have a special
data structure of list the address must be pointer
type.
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:
Head
AAA BBB CCC
Information field
Pointer field
[Linear Liked List]
Lists
Types of linked lists:
◦ Single linked list
◦ Doubly linked list
◦ Single circular linked list
◦ Doubly circular linked list
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).
Stack
It could be through of just like a stack of plates
placed on table in a party, a guest always takes off a
fresh plate from the top and the new plates are
placed on to the stack at the top.
It is a non-primitive data structure.
When an element is inserted into a stack or
removed from the stack, its base remains fixed
where the top of stack changes.
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]
Stack
The stack can be implemented into two ways:
◦ Using arrays (Static implementation)
◦ Using pointer (Dynamic implementation)
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.
Queue
10 20 30 40 50
Each new person comes and stands at the end of the row
and person getting their reservation confirmed get out of
the row from the front end.
The bellow show figure how the operations take place on a
stack:
front rear
Queue
The queue can be implemented into two ways:
◦ Using arrays (Static implementation)
◦ Using pointer (Dynamic implementation)
Trees
A tree can be defined as finite set of data items
(nodes).
Tree is non-linear type of data structure in which
data items are arranged or stored in a sorted
sequence.
Tree represent the hierarchical relationship
between various elements.
Trees
There is a special data item at the top of hierarchy
called the Root of the tree.
The remaining data items are partitioned into
number of mutually exclusive subset, each of which
is itself, a tree which is called the sub tree.
The tree always grows in length towards bottom in
data structures, unlike natural trees which grows
upwards.
Trees
The tree structure organizes the data into branches,
which related the information.
A
B C
D E F G
root
Graph
Graph is a mathematical non-linear data structure
capable of representing many kind of physical
structures.
It has found application in Geography, Chemistry
and Engineering sciences.
Definition: A graph G(V,E) is a set of vertices V and a
set of edges E.
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.
Graph
v2
v1
v4
v5
v3
10
15
8
6
11
9
v4
v1
v2
v4
v3
a. Directed & Weighted Graph b. Undirected Graph
Graph
Types of Graphs:
◦ Directed graph
◦ Undirected graph
◦ Simple graph
◦ Weighted graph
◦ Connected graph
◦ Non-connected graph

data structure algorithm example and example

  • 1.
    Introduction to Data Structure MD.JAKARIA LECTURER DEPT. OF CSE, MIST
  • 2.
    Definition Data structure isrepresentation of the logical relationship existing between individual elements of data. In other words, a data structure is a way of organizing all data items that considers not only the elements stored but also their relationship to each other.
  • 3.
    Introduction Data structure affectsthe design of both structural & functional aspects of a program. Program = algorithm + Data Structure A algorithm is a step by step procedure to solve a particular function.
  • 4.
    Introduction Algorithm is aset of instruction written to carry out certain tasks and the data structure is the way of organizing the data with their logical relationship retained. To develop a program of an algorithm, we should select an appropriate data structure for that algorithm. Therefore algorithm and its associated data structures from a program.
  • 5.
    Classification of DataStructure Data structure are normally divided into two broad categories: ◦ Primitive Data Structure ◦ Non-Primitive Data Structure
  • 6.
    Classification of DataStructure Data structure Primitive DS Non-Primitive DS Integer Float Character Pointer Float Integer Float
  • 7.
    Classification of DataStructure Non-Primitive DS Linear List Non-Linear List Array Link List Stack Queue Graph Trees
  • 8.
    Primitive Data Structure Thereare basic structures and directly operated upon by the machine instructions. In general, there are different representation on different computers. Integer, Floating-point number, Character constants, string constants, pointers etc., fall in this category.
  • 9.
    Non-Primitive Data Structure Thereare more sophisticated data structures. These are derived from the primitive data structures. The non-primitive data structures emphasize on structuring of a group of homogeneous (same type) or heterogeneous (different type) data items.
  • 10.
    Non-Primitive Data Structure Lists,Stack, Queue, Tree, Graph are example of non-primitive data structures. The design of an efficient data structure must take operations to be performed on the data structure.
  • 11.
    Non-Primitive Data Structure Themost commonly used operation on data structure are broadly categorized into following types: ◦ Create ◦ Selection ◦ Updating ◦ Searching ◦ Sorting ◦ Merging ◦ Destroy or Delete
  • 12.
    Differences A primitive datastructure is generally a basic structure that is usually built into the language, such as an integer, a float. A non-primitive data structure is built out of primitive data structures linked together in meaningful ways, such as a or a linked-list, binary search tree, AVL Tree, graph etc.
  • 13.
    Descriptions: Arrays An arrayis 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.
  • 14.
    Arrays Simply, declaration ofarray is as follows: int arr[10] Where int specifies the data type or type of elements arrays stores. “arr” is the name of array & the number specified inside the square brackets is the number of elements an array can store, this is also called sized or length of array.
  • 15.
    Arrays Following are someof the concepts to be remembered about arrays: ◦ The individual element of an array can be accessed by specifying name of the array, following by index or subscript inside square brackets. ◦ The first element of the array has index zero[0]. It means the first element and last element will be specified as: arr[0] and arr[9] respectively.
  • 16.
    Arrays ◦ The elementsof array will always be stored in the consecutive (continues) memory location. ◦ The number of elements that can be stored in an array, that is the size of array or its length is given by the following equation: (Upperbound-lowerbound)+1
  • 17.
    Arrays ◦ For theabove array it would be ( 9 – 0 ) + 1 = 10 where 0 is the lower bound of array and 9 is the upper bound of array. ◦ Array can always be read or written through loop. If we read a one-dimensional array it require one loop for reading and other for writing the array.
  • 18.
    Arrays ◦ For example:Reading an array for(i=0; i <= 9; i++) scanf(“%d”,&arr[i]); ◦ For example: Writing an array for(i=0; i<=9; i++) printf(“%d”,arr[i]);
  • 19.
    Arrays ◦ If weare reading or writing two-dimensional array it would require two loops. And similarly the array of a N dimension would required N loops. ◦ Some common operation performed on array are: ◦ Creation of an array ◦ Traversing an array
  • 20.
    Arrays ◦Insertion of newelement ◦Deletion of required element ◦Modification of an element ◦Merging of arrays
  • 21.
    Lists A lists (Linearlinked list) can be defined as a collection of variable number of data items. Lists are the most commonly used non-primitive data structures. An element of list must contain at least two fields, one for storing data or information and other for storing address of next element. As you know for storing address we have a special data structure of list the address must be pointer type.
  • 22.
    Lists Technically each suchelement is referred to as a node, therefore a list can be defined as a collection of nodes as show bellow: Head AAA BBB CCC Information field Pointer field [Linear Liked List]
  • 23.
    Lists Types of linkedlists: ◦ Single linked list ◦ Doubly linked list ◦ Single circular linked list ◦ Doubly circular linked list
  • 24.
    Stack A stack isalso 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).
  • 25.
    Stack It could bethrough of just like a stack of plates placed on table in a party, a guest always takes off a fresh plate from the top and the new plates are placed on to the stack at the top. It is a non-primitive data structure. When an element is inserted into a stack or removed from the stack, its base remains fixed where the top of stack changes.
  • 26.
    Stack Insertion of elementinto 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]
  • 27.
    Stack The stack canbe implemented into two ways: ◦ Using arrays (Static implementation) ◦ Using pointer (Dynamic implementation)
  • 28.
    Queue Queue are firstin 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.
  • 29.
    Queue 10 20 3040 50 Each new person comes and stands at the end of the row and person getting their reservation confirmed get out of the row from the front end. The bellow show figure how the operations take place on a stack: front rear
  • 30.
    Queue The queue canbe implemented into two ways: ◦ Using arrays (Static implementation) ◦ Using pointer (Dynamic implementation)
  • 31.
    Trees A tree canbe defined as finite set of data items (nodes). Tree is non-linear type of data structure in which data items are arranged or stored in a sorted sequence. Tree represent the hierarchical relationship between various elements.
  • 32.
    Trees There is aspecial data item at the top of hierarchy called the Root of the tree. The remaining data items are partitioned into number of mutually exclusive subset, each of which is itself, a tree which is called the sub tree. The tree always grows in length towards bottom in data structures, unlike natural trees which grows upwards.
  • 33.
    Trees The tree structureorganizes the data into branches, which related the information. A B C D E F G root
  • 34.
    Graph Graph is amathematical non-linear data structure capable of representing many kind of physical structures. It has found application in Geography, Chemistry and Engineering sciences. Definition: A graph G(V,E) is a set of vertices V and a set of edges E.
  • 35.
    Graph An edge connectsa 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.
  • 36.
  • 37.
    Graph Types of Graphs: ◦Directed graph ◦ Undirected graph ◦ Simple graph ◦ Weighted graph ◦ Connected graph ◦ Non-connected graph