What is Data Structure?
Data structure is a representation of data
and the operations allowed on that data.
• A data structure is a way to store and organize
data in order to facilitate the access and
modifications.
• Data Structure are the method of representing of
logical relationships between individual data
elements related to the solution of a given
problem.
Primitive data structure Non Primitive Data structure
Primitive data structure is the
Non-Primitive data structure is a
data structure that allows you to
data structure that allows you to
store only single data type
store multiple data type values.
values.
integer, boolean, character, float, Array, Linked List, Stack, etc. are
etc. are some examples of some examples of non-primitive
primitive data structures. data structures.
Primitive data structure always
contains some value i.e. these You can store a NULL value in
data structures do not allow you the non-primitive data structures.
to store NULL values.
The size of the primitive data
structures is dependent on the The size of the non-primitive data
type of the primitive data structure is not fixed.
structure.
Basic Data Structure
Basic Data Structures
Linear Data Structures Non-Linear Data Structures
Arrays Linked Lists Stacks Queues Trees Graphs Hash Tables
array
Linked list
queue
tree stack
Selection of Data Structure
The choice of particular data model
depends on two consideration:
It must be rich enough in structure to represent
the relationship between data elements
The structure should be simple enough that one
can effectively process the data when necessary
Types of Data Structure
Linear: In Linear data structure, values are
arrange in linear fashion.
Array: Fixed-size
Linked-list: Variable-size
Stack: Add to top and remove from top
Queue: Add to back and remove from front
Priority queue: Add anywhere, remove the
highest priority
Types of Data Structure
Non-Linear: The data values in this structure are
not arranged in order.
Hash tables: Unordered lists which use a ‘hash function’
to insert and search
Tree: Data is organized in branches.
Graph: A more general branching structure, with less
strict connection conditions than for a tree
Type of Data Structures
Homogenous: In this type of data structures,
values of the same types of data are stored.
Array
Non-Homogenous: In this type of data structures,
data values of different types are grouped and
stored.
Structures
Classes
Abstract Data Type and Data
Structure
Definition:-
Abstract Data Types (ADTs) stores data and allow
various operations on the data to access and change it.
A mathematical model, together with various operations
defined on the model
An ADT is a collection of data and associated operations
for manipulating that data
Data Structures
Physical implementation of an ADT
data structures used in implementations are provided in
a language (primitive or built-in) or are built from the
language constructs (user-defined)
Each operation associated with the ADT is implemented by one
or more subroutines in the implementation
Abstract Data Type
ADTs support abstraction, encapsulation, and
information hiding.
Abstraction is the structuring of a problem into
well-defined entities by defining their data and
operations.
The principle of hiding the used data structure
and to only provide a well-defined interface is
known as encapsulation.
The Core Operations of ADT
Every Collection ADT should provide a
way to:
add an item
remove an item
find, retrieve, or access an item
Many, many more possibilities
is the collection empty
make the collection empty
give me a sub set of the collection
• No single data structure works well for all
purposes, and so it is important to know the
strengths and limitations of several of them
Stacks
Collection with access only to the last
element inserted
Last in first out Data4 Top
insert/push Data3
remove/pop
Data2
top
make empty Data1
Queues
Collection with access only to the item that
has been present the longest
Last in last out or first in first out
enqueue, dequeue, front
priority queues and dequeue
Front Back
Data1 Data2 Data3 Data4
List
A Flexible structure, because can grow and
shrink on demand.
Elements can be:
Inserted
Accessed
Deleted
At any position
last
first
Tree
A Tree is a collection of elements called nodes.
One of the node is distinguished as a root, along with a
relation (“parenthood”) that places a hierarchical structure
on the nodes.
Root