SlideShare a Scribd company logo
Course: MCA
Subject: Data and File Structure
Unit-1
Introduction to Data Structure
Data Structure
 A Data Structure is an aggregation of atomic and
composite data into a set with defined relationships.
 Structure means a set of rules that holds the data together.
 Taking a combination of data and fit them into such a
structure that we can define its relating rules, we create a
data structure.
Data structure
 A data structure in computer science is a way of
storing data in a computer so that it can be used
efficiently.
– An organization of mathematical and logical
concepts of data
– Implementation using a programming language
– A proper data structure can make the algorithm or
solution more efficient in terms of time and space
Data Structures: Properties
 Most of the modern programming languages support
a number of data structures.
 In addition, modern programming languages allow
programmers to create new data structures for an
application.
 Data structures can be nested.
 A data structure may contain other data structures
(array of arrays, array of records, record of records,
record of arrays, etc.)
What is Data Structures?
 A data structure is defined by
 (1) the logical arrangement of data elements,
combined with
 (2) the set of operations we need to access the
elements.
What is Data Structures?
 Example:
 library is composed of elements (books)
 Accessing a particular book requires knowledge
of the arrangement of the books
 Users access books only through the librarian
Cont..
 An algorithm is a finite set of instructions that, if
followed, accomplishes a particular task.
 All the algorithms must satisfy the following criteria:
– Input
– Output
– Precision (Definiteness)
– Effectiveness
– Finiteness
TYPES OF DATA STRUCURE
 Primitive & Non Primitive Data Structures
 Primitive data Structure
 The integers, reals, logical data, character data,
pointer and reference are primitive data structures.
 Data structures that normally are directly operated
upon by machine-level instructions are known as
primitive data structures.
Non-primitive Data Structures
 These are more complex data structures. These data
structures are derived from the primitive data
structures.
 They stress on formation of sets of homogeneous and
heterogeneous data elements.
 The different operations that are to be carried out on
data are nothing but designing of data structures.
 CREATE
 DESTROY
 SELECT
 UPDATE
Data structures operations
The different operations that can be performed on data
structures are shown in Fig.
Performance Analysis
 There are problems and algorithms to solve them.
 Problems and problem instances.
 Example: Sorting data in ascending order.
 Problem: Sorting
 Problem Instance: e.g. sorting data (2 3 9 5 6 8)
 Algorithms: Bubble sort, Merge sort, Quick sort,
Selection sort, etc.
 Which is the best algorithm for the problem? How do
we judge?
Performance Analysis
 Two criteria are used to judge algorithms:
(i) time complexity (ii) space complexity.
 Space Complexity of an algorithm is the amount of
memory it needs to run to completion.
 Time Complexity of an algorithm is the amount of
CPU time it needs to run to completion.
Space Complexity: Example 1
1. Algorithm abc (a, b, c)
2. {
3. return a+b+b*c+(a+b-c)/(a+b)+4.0;
4. }
For every instance 3 computer words required to
store variables: a, b, and c.
Therefore Sp()= 3. S(P) = 3.
Time Complexity
 What is a program step?
 a+b+b*c+(a+b)/(a-b)  one step;
 comments  zero steps;
 while (<expr>) do  step count equal to the
number of times <expr> is executed.
 for i=<expr> to <expr1> do  step count equal to
number of times <expr1> is checked.
Performance Measurement
 Which is better?
 T(P1) = (n+1) or T(P2) = (n2 + 5).
 T(P1) = log (n2 + 1)/n! or T(P2) = nn(nlogn)/n2.
 Complex step count functions are difficult to compare.
 For comparing, ‘rate of growth’ of time and space
complexity functions is easy and sufficient.
Big O Notation
 Big O of a function gives us ‘rate of growth’ of the
step count function f(n), in terms of a simple function
g(n), which is easy to compare.
 Definition:
[Big O] The function f(n) = O(g(n)) (big ‘oh’ of g of
n) if
there exist positive constants c and n0 such that f(n) <=
c*g(n) for all n, n>=n0. See graph on next slide.
 Example: f(n) = 3n+2 is O(n) because 3n+2 <= 4n for
all n >= 2. c = 4, n0 = 2. Here g(n) = n.
Big O Notation[1]
= n0
Big O Notation
 Example: f(n) = 10n2+4n+2 is O(n2)
because 10n2+4n+2 <= 11n2 for all n >=5.
 Example: f(n) = 6*2n+n2 is O(2n)
because 6*2n+n2 <=7*2n for all n>=4.
 Algorithms can be:
 O(1)  constant; O(log n)  logrithmic; O(nlogn);
O(n) linear; O(n2)  quadratic; O(n3)  cubic; O(2n)
 exponential.
Big O Notation
 Now it is easy to compare time or space complexities
of algorithms.
 Which algorithm complexity is better?
 T(P1) = O(n) or T(P2) = O(n2)
 T(P1) = O(1) or T(P2) = O(log n)
 T(P1) = O(2n) or T(P2) = O(n10)
Linear & Non Linear Data Structures
 Linear data structures:- in which insertion and deletion
is possible in linear fashion .
 example:- arrays, linked lists.
 Non linear data structures:-in which it is not possible.
example:- trees ,stacks
LINEAR DATA STRUCTURE Array
 Array is linear, homogeneous data structures whose
elements are stored in contiguous memory locations.
Arrays
 Array: a set of pairs, <index, value>
 Data structure
 For each index, there is a value associated with
that index.
 Representation (possible)
 Implemented by using consecutive memory.
 In mathematical terms, we call this a
correspondence or a mapping.
Initializing Arrays
 Using a loop:
 for (int i = 0; i < myList.length; i++)
 myList[i] = i;
 Declaring, creating, initializing in one step:
 double[] myList = {1.9, 2.9, 3.4, 3.5};
 This shorthand syntax must be in one statement.
Declaring and Creating in One Step
 datatype[] arrayname = new
 datatype[arraySize];
 double[] myList = new double[10];
 datatype arrayname[] = new
datatype[arraySize];
 double myList[] = new double[10];
Sparse Matrix[2]
 A sparse matrix is a matrix that has many zero entries.






















0002800
0000091
000000
006000
0003110
150220015
• This is a __×__ matrix.
• There are _____ entries.
• There are _____ nonzero entries.
• There are _____ zero entries.
Consider we use a 2D array to represent a n×n sparse matrix. How many entries
are required? _____ entries. The space complexity is O( ).
Sparse Matrix
 If n is large, say n = 5000, we need 25 million elements to store
the matrix.
 25 million units of time for operation such as addition and
transposition.
 Using a representation that stores only the nonzero entries can
reduce the space and time requirements considerably.
Sparse Matrix Representation
 The information we need to know
 The number of rows
 The number of columns
 The number of nonzero entries
 All the nonzero entries are stored in an array. Therefore, we
also have to know
 The capacity of the array
 Each element contains a triple <row, col, value> to store.
 The triples are ordered by rows and within rows by
columns.
Sparse Matrix Representation
class SparseMatrix;
class MatrixEntry {
friend class SparseMatrix;
private:
int row, col, value;
};
class SparseMatrix {
private:
int rows, cols, terms, capacity;
MatrixEntry *smArray;
};
The array as an ADT
 When considering an ADT we are more concerned
with the operations that can be performed on an array.
 Aside from creating a new array, most languages
provide only two standard operations for arrays,
one that retrieves a value, and a second that stores
a value.
 The advantage of this ADT definition is that it
clearly points out the fact that the array is a more
general structure than “a consecutive set of
memory locations.”
Exercise : Bubble Sort
int[] myList = {2, 9, 5, 4, 8, 1, 6}; // Unsorted
Pass 1: 2, 5, 4, 8, 1, 6, 9
Pass 2: 2, 4, 5, 1, 6, 8, 9
Pass 3: 2, 4, 1, 5, 6, 8, 9
Pass 4: 2, 1, 4, 5, 6, 8, 9
Pass 5: 1, 2, 4, 5, 6, 8, 9
Pass 6: 1, 2, 4, 5, 6, 8, 9
Tower of Hanoi[3]
 The Objective is to transfer the entire tower to one of
the other pegs.
 However you can only move one disk at a time and
you can never stack a larger disk onto a smaller disk.
Try to solve it in fewest possible moves.
Tower of Hanoi[4]
References
1) An introduction to Datastructure with application by jean Trembley and
sorrenson
2) Data structures by schaums and series –seymour lipschutz
3) http://en.wikipedia.org/wiki/Book:Data_structures
4) http://www.amazon.com/Data-Structures-Algorithms
5) http://www.amazon.in/Data-Structures-Algorithms-Made-
Easy/dp/0615459811/
6) http://www.amazon.in/Data-Structures-SIE-Seymour-Lipschutz/dp
List of Images
1. Data structures by schaums and series –seymour lipschutz
2. http://en.wikipedia.org/wiki/Book:Data_structures
3. http://en.wikipedia.org/wiki/tower of hanoi
4. http://en.wikipedia.org/wiki/tower of hanoi

More Related Content

PPTX
Linear and Binary search
Nisha Soms
 
PPTX
Sorting in python
Simplilearn
 
PDF
Unit 6 dsa SEARCHING AND SORTING
PUNE VIDYARTHI GRIHA'S COLLEGE OF ENGINEERING, NASHIK
 
PPTX
Data structure & its types
Rameesha Sadaqat
 
PPTX
Shadow paging
GowriLatha1
 
PPT
Sum of subsets problem by backtracking 
Hasanain Alshadoodee
 
PPT
Data Preprocessing
Object-Frontier Software Pvt. Ltd
 
PPT
finding Min and max element from given array using divide & conquer
Swati Kulkarni Jaipurkar
 
Linear and Binary search
Nisha Soms
 
Sorting in python
Simplilearn
 
Data structure & its types
Rameesha Sadaqat
 
Shadow paging
GowriLatha1
 
Sum of subsets problem by backtracking 
Hasanain Alshadoodee
 
finding Min and max element from given array using divide & conquer
Swati Kulkarni Jaipurkar
 

What's hot (20)

PPT
Searching algorithms
Trupti Agrawal
 
PPTX
Binomial Heap
Goa App
 
PPTX
Linear Search Data Structure
Talha Shaikh
 
PPTX
Linear Search Presentation
Markajul Hasnain Alif
 
PDF
Introduction to data structure
Zaid Shabbir
 
PPT
Introduction to data structure
adeel hamid
 
PPTX
Python-List.pptx
AnitaDevi158873
 
PPTX
Data warehousing ppt
Ashish Kumar Thakur
 
PPTX
Searching Techniques and Analysis
AkashBorse2
 
PDF
Algorithms Lecture 4: Sorting Algorithms I
Mohamed Loey
 
PPT
Association rule mining
Acad
 
PPTX
Fragmentation and types of fragmentation in Distributed Database
Abhilasha Lahigude
 
PPT
Lec 17 heap data structure
Sajid Marwat
 
PPT
Warehousing dimension star-snowflake_schemas
Eric Matthews
 
PPTX
PPT On Sorting And Searching Concepts In Data Structure | In Programming Lang...
Umesh Kumar
 
PPTX
Array operations
ZAFAR444
 
PPT
Divide and conquer
Dr Shashikant Athawale
 
PDF
Array data structure
maamir farooq
 
PDF
Binary Search - Design & Analysis of Algorithms
Drishti Bhalla
 
Searching algorithms
Trupti Agrawal
 
Binomial Heap
Goa App
 
Linear Search Data Structure
Talha Shaikh
 
Linear Search Presentation
Markajul Hasnain Alif
 
Introduction to data structure
Zaid Shabbir
 
Introduction to data structure
adeel hamid
 
Python-List.pptx
AnitaDevi158873
 
Data warehousing ppt
Ashish Kumar Thakur
 
Searching Techniques and Analysis
AkashBorse2
 
Algorithms Lecture 4: Sorting Algorithms I
Mohamed Loey
 
Association rule mining
Acad
 
Fragmentation and types of fragmentation in Distributed Database
Abhilasha Lahigude
 
Lec 17 heap data structure
Sajid Marwat
 
Warehousing dimension star-snowflake_schemas
Eric Matthews
 
PPT On Sorting And Searching Concepts In Data Structure | In Programming Lang...
Umesh Kumar
 
Array operations
ZAFAR444
 
Divide and conquer
Dr Shashikant Athawale
 
Array data structure
maamir farooq
 
Binary Search - Design & Analysis of Algorithms
Drishti Bhalla
 
Ad

Viewers also liked (20)

PDF
linked list
Abbott
 
PDF
01 05 - introduction xml
Siva Kumar reddy Vasipally
 
PPT
L6 structure
mondalakash2012
 
PPT
Introduction to data structure by anil dutt
Anil Dutt
 
PPT
Data structure lecture 1
Kumar
 
PPTX
Method overloading
Lovely Professional University
 
PPTX
‫Chapter3 inheritance
Mahmoud Alfarra
 
PPTX
5 Array List, data structure course
Mahmoud Alfarra
 
PDF
3 Array operations
Mahmoud Alfarra
 
PDF
Data Structure (Introduction to Data Structure)
Adam Mukharil Bachtiar
 
PPTX
Classes and objects
rajveer_Pannu
 
PPT
New operator and methods.15
myrajendra
 
PPTX
Chapter 2.datatypes and operators
Jasleen Kaur (Chandigarh University)
 
PPTX
Data structures
Lovely Professional University
 
PPT
Unit 5 Java
arnold 7490
 
PPTX
Operators
moniammu
 
PPTX
Trees data structure
Mahmoud Alfarra
 
PPT
Unit 4 Java
arnold 7490
 
PPTX
Graphs data Structure
Mahmoud Alfarra
 
PPT
Console Io Operations
archikabhatia
 
linked list
Abbott
 
01 05 - introduction xml
Siva Kumar reddy Vasipally
 
L6 structure
mondalakash2012
 
Introduction to data structure by anil dutt
Anil Dutt
 
Data structure lecture 1
Kumar
 
Method overloading
Lovely Professional University
 
‫Chapter3 inheritance
Mahmoud Alfarra
 
5 Array List, data structure course
Mahmoud Alfarra
 
3 Array operations
Mahmoud Alfarra
 
Data Structure (Introduction to Data Structure)
Adam Mukharil Bachtiar
 
Classes and objects
rajveer_Pannu
 
New operator and methods.15
myrajendra
 
Chapter 2.datatypes and operators
Jasleen Kaur (Chandigarh University)
 
Unit 5 Java
arnold 7490
 
Operators
moniammu
 
Trees data structure
Mahmoud Alfarra
 
Unit 4 Java
arnold 7490
 
Graphs data Structure
Mahmoud Alfarra
 
Console Io Operations
archikabhatia
 
Ad

Similar to Mca ii dfs u-1 introduction to data structure (20)

PPTX
DATA STRUCTURES unit 1.pptx
ShivamKrPathak
 
DOCX
3rd-Sem_CSE_Data-Structures and Applications.docx
harshavardhan543715
 
PPTX
Introduction to data structures using c/c++.pptx
donemoremaregere376
 
PPTX
Data Structures unit I Introduction - data types
AmirthaVarshini80
 
PPTX
Data structures in c#
SivaSankar Gorantla
 
PPTX
Chapter 1 Data structure _Algorithms.pptx
BifaHirpo1
 
PDF
Chapter 1 Introduction to Data Structures and Algorithms.pdf
Axmedcarb
 
DOCX
Datastructures and algorithms prepared by M.V.Brehmanada Reddy
Malikireddy Bramhananda Reddy
 
PPTX
Introduction to Data structure and algorithm.pptx
line24arts
 
PDF
DS Complete notes for Computer science and Engineering
RAJASEKHARV8
 
PPTX
VCE Unit 01 (2).pptx
skilljiolms
 
PDF
Data structures and algorithms short note (version 14).pd
Nimmi Weeraddana
 
PDF
DS unit 10000000000000000000000000000.pdf
sshubhamsingh265
 
PPTX
UNIT 1 Memory ManagementMemory Management.pptx
harsh1212000552
 
PPTX
UNIT 1.pptx
JohnStuart83
 
PPTX
Data structure.pptx
SajalFayyaz
 
PPS
Data Structure
sheraz1
 
PPS
Lec 1 Ds
Qundeel
 
PPS
Lec 1 Ds
Qundeel
 
PPTX
project on data structures and algorithm
AnujKumar566766
 
DATA STRUCTURES unit 1.pptx
ShivamKrPathak
 
3rd-Sem_CSE_Data-Structures and Applications.docx
harshavardhan543715
 
Introduction to data structures using c/c++.pptx
donemoremaregere376
 
Data Structures unit I Introduction - data types
AmirthaVarshini80
 
Data structures in c#
SivaSankar Gorantla
 
Chapter 1 Data structure _Algorithms.pptx
BifaHirpo1
 
Chapter 1 Introduction to Data Structures and Algorithms.pdf
Axmedcarb
 
Datastructures and algorithms prepared by M.V.Brehmanada Reddy
Malikireddy Bramhananda Reddy
 
Introduction to Data structure and algorithm.pptx
line24arts
 
DS Complete notes for Computer science and Engineering
RAJASEKHARV8
 
VCE Unit 01 (2).pptx
skilljiolms
 
Data structures and algorithms short note (version 14).pd
Nimmi Weeraddana
 
DS unit 10000000000000000000000000000.pdf
sshubhamsingh265
 
UNIT 1 Memory ManagementMemory Management.pptx
harsh1212000552
 
UNIT 1.pptx
JohnStuart83
 
Data structure.pptx
SajalFayyaz
 
Data Structure
sheraz1
 
Lec 1 Ds
Qundeel
 
Lec 1 Ds
Qundeel
 
project on data structures and algorithm
AnujKumar566766
 

More from Rai University (20)

PDF
Brochure Rai University
Rai University
 
PPT
Mm unit 4point2
Rai University
 
PPT
Mm unit 4point1
Rai University
 
PPT
Mm unit 4point3
Rai University
 
PPT
Mm unit 3point2
Rai University
 
PPTX
Mm unit 3point1
Rai University
 
PPTX
Mm unit 2point2
Rai University
 
PPT
Mm unit 2 point 1
Rai University
 
PPT
Mm unit 1point3
Rai University
 
PPT
Mm unit 1point2
Rai University
 
PPTX
Mm unit 1point1
Rai University
 
DOCX
Bdft ii, tmt, unit-iii, dyeing & types of dyeing,
Rai University
 
PPTX
Bsc agri 2 pae u-4.4 publicrevenue-presentation-130208082149-phpapp02
Rai University
 
PPTX
Bsc agri 2 pae u-4.3 public expenditure
Rai University
 
PPTX
Bsc agri 2 pae u-4.2 public finance
Rai University
 
PPS
Bsc agri 2 pae u-4.1 introduction
Rai University
 
PPT
Bsc agri 2 pae u-3.3 inflation
Rai University
 
PPTX
Bsc agri 2 pae u-3.2 introduction to macro economics
Rai University
 
PPTX
Bsc agri 2 pae u-3.1 marketstructure
Rai University
 
PPTX
Bsc agri 2 pae u-3 perfect-competition
Rai University
 
Brochure Rai University
Rai University
 
Mm unit 4point2
Rai University
 
Mm unit 4point1
Rai University
 
Mm unit 4point3
Rai University
 
Mm unit 3point2
Rai University
 
Mm unit 3point1
Rai University
 
Mm unit 2point2
Rai University
 
Mm unit 2 point 1
Rai University
 
Mm unit 1point3
Rai University
 
Mm unit 1point2
Rai University
 
Mm unit 1point1
Rai University
 
Bdft ii, tmt, unit-iii, dyeing & types of dyeing,
Rai University
 
Bsc agri 2 pae u-4.4 publicrevenue-presentation-130208082149-phpapp02
Rai University
 
Bsc agri 2 pae u-4.3 public expenditure
Rai University
 
Bsc agri 2 pae u-4.2 public finance
Rai University
 
Bsc agri 2 pae u-4.1 introduction
Rai University
 
Bsc agri 2 pae u-3.3 inflation
Rai University
 
Bsc agri 2 pae u-3.2 introduction to macro economics
Rai University
 
Bsc agri 2 pae u-3.1 marketstructure
Rai University
 
Bsc agri 2 pae u-3 perfect-competition
Rai University
 

Recently uploaded (20)

PDF
PG-BPSDMP 2 TAHUN 2025PG-BPSDMP 2 TAHUN 2025.pdf
AshifaRamadhani
 
PPT
Python Programming Unit II Control Statements.ppt
CUO VEERANAN VEERANAN
 
PDF
Phylum Arthropoda: Characteristics and Classification, Entomology Lecture
Miraj Khan
 
PPTX
Congenital Hypothyroidism pptx
AneetaSharma15
 
PPTX
An introduction to Prepositions for beginners.pptx
drsiddhantnagine
 
PPTX
IMMUNIZATION PROGRAMME pptx
AneetaSharma15
 
PPTX
How to Manage Global Discount in Odoo 18 POS
Celine George
 
PPTX
Presentation on Janskhiya sthirata kosh.
Ms Usha Vadhel
 
PDF
What is CFA?? Complete Guide to the Chartered Financial Analyst Program
sp4989653
 
PPTX
Understanding operators in c language.pptx
auteharshil95
 
PPTX
NOI Hackathon - Summer Edition - GreenThumber.pptx
MartinaBurlando1
 
PPTX
PREVENTIVE PEDIATRIC. pptx
AneetaSharma15
 
PPTX
Dakar Framework Education For All- 2000(Act)
santoshmohalik1
 
PDF
Landforms and landscapes data surprise preview
jpinnuck
 
PPTX
TEF & EA Bsc Nursing 5th sem.....BBBpptx
AneetaSharma15
 
PPTX
Odoo 18 Sales_ Managing Quotation Validity
Celine George
 
PDF
High Ground Student Revision Booklet Preview
jpinnuck
 
PDF
1.Natural-Resources-and-Their-Use.ppt pdf /8th class social science Exploring...
Sandeep Swamy
 
PPTX
Information Texts_Infographic on Forgetting Curve.pptx
Tata Sevilla
 
PDF
Sunset Boulevard Student Revision Booklet
jpinnuck
 
PG-BPSDMP 2 TAHUN 2025PG-BPSDMP 2 TAHUN 2025.pdf
AshifaRamadhani
 
Python Programming Unit II Control Statements.ppt
CUO VEERANAN VEERANAN
 
Phylum Arthropoda: Characteristics and Classification, Entomology Lecture
Miraj Khan
 
Congenital Hypothyroidism pptx
AneetaSharma15
 
An introduction to Prepositions for beginners.pptx
drsiddhantnagine
 
IMMUNIZATION PROGRAMME pptx
AneetaSharma15
 
How to Manage Global Discount in Odoo 18 POS
Celine George
 
Presentation on Janskhiya sthirata kosh.
Ms Usha Vadhel
 
What is CFA?? Complete Guide to the Chartered Financial Analyst Program
sp4989653
 
Understanding operators in c language.pptx
auteharshil95
 
NOI Hackathon - Summer Edition - GreenThumber.pptx
MartinaBurlando1
 
PREVENTIVE PEDIATRIC. pptx
AneetaSharma15
 
Dakar Framework Education For All- 2000(Act)
santoshmohalik1
 
Landforms and landscapes data surprise preview
jpinnuck
 
TEF & EA Bsc Nursing 5th sem.....BBBpptx
AneetaSharma15
 
Odoo 18 Sales_ Managing Quotation Validity
Celine George
 
High Ground Student Revision Booklet Preview
jpinnuck
 
1.Natural-Resources-and-Their-Use.ppt pdf /8th class social science Exploring...
Sandeep Swamy
 
Information Texts_Infographic on Forgetting Curve.pptx
Tata Sevilla
 
Sunset Boulevard Student Revision Booklet
jpinnuck
 

Mca ii dfs u-1 introduction to data structure

  • 1. Course: MCA Subject: Data and File Structure Unit-1 Introduction to Data Structure
  • 2. Data Structure  A Data Structure is an aggregation of atomic and composite data into a set with defined relationships.  Structure means a set of rules that holds the data together.  Taking a combination of data and fit them into such a structure that we can define its relating rules, we create a data structure.
  • 3. Data structure  A data structure in computer science is a way of storing data in a computer so that it can be used efficiently. – An organization of mathematical and logical concepts of data – Implementation using a programming language – A proper data structure can make the algorithm or solution more efficient in terms of time and space
  • 4. Data Structures: Properties  Most of the modern programming languages support a number of data structures.  In addition, modern programming languages allow programmers to create new data structures for an application.  Data structures can be nested.  A data structure may contain other data structures (array of arrays, array of records, record of records, record of arrays, etc.)
  • 5. What is Data Structures?  A data structure is defined by  (1) the logical arrangement of data elements, combined with  (2) the set of operations we need to access the elements.
  • 6. What is Data Structures?  Example:  library is composed of elements (books)  Accessing a particular book requires knowledge of the arrangement of the books  Users access books only through the librarian
  • 7. Cont..  An algorithm is a finite set of instructions that, if followed, accomplishes a particular task.  All the algorithms must satisfy the following criteria: – Input – Output – Precision (Definiteness) – Effectiveness – Finiteness
  • 8. TYPES OF DATA STRUCURE  Primitive & Non Primitive Data Structures  Primitive data Structure  The integers, reals, logical data, character data, pointer and reference are primitive data structures.  Data structures that normally are directly operated upon by machine-level instructions are known as primitive data structures.
  • 9. Non-primitive Data Structures  These are more complex data structures. These data structures are derived from the primitive data structures.  They stress on formation of sets of homogeneous and heterogeneous data elements.  The different operations that are to be carried out on data are nothing but designing of data structures.  CREATE  DESTROY  SELECT  UPDATE
  • 10. Data structures operations The different operations that can be performed on data structures are shown in Fig.
  • 11. Performance Analysis  There are problems and algorithms to solve them.  Problems and problem instances.  Example: Sorting data in ascending order.  Problem: Sorting  Problem Instance: e.g. sorting data (2 3 9 5 6 8)  Algorithms: Bubble sort, Merge sort, Quick sort, Selection sort, etc.  Which is the best algorithm for the problem? How do we judge?
  • 12. Performance Analysis  Two criteria are used to judge algorithms: (i) time complexity (ii) space complexity.  Space Complexity of an algorithm is the amount of memory it needs to run to completion.  Time Complexity of an algorithm is the amount of CPU time it needs to run to completion.
  • 13. Space Complexity: Example 1 1. Algorithm abc (a, b, c) 2. { 3. return a+b+b*c+(a+b-c)/(a+b)+4.0; 4. } For every instance 3 computer words required to store variables: a, b, and c. Therefore Sp()= 3. S(P) = 3.
  • 14. Time Complexity  What is a program step?  a+b+b*c+(a+b)/(a-b)  one step;  comments  zero steps;  while (<expr>) do  step count equal to the number of times <expr> is executed.  for i=<expr> to <expr1> do  step count equal to number of times <expr1> is checked.
  • 15. Performance Measurement  Which is better?  T(P1) = (n+1) or T(P2) = (n2 + 5).  T(P1) = log (n2 + 1)/n! or T(P2) = nn(nlogn)/n2.  Complex step count functions are difficult to compare.  For comparing, ‘rate of growth’ of time and space complexity functions is easy and sufficient.
  • 16. Big O Notation  Big O of a function gives us ‘rate of growth’ of the step count function f(n), in terms of a simple function g(n), which is easy to compare.  Definition: [Big O] The function f(n) = O(g(n)) (big ‘oh’ of g of n) if there exist positive constants c and n0 such that f(n) <= c*g(n) for all n, n>=n0. See graph on next slide.  Example: f(n) = 3n+2 is O(n) because 3n+2 <= 4n for all n >= 2. c = 4, n0 = 2. Here g(n) = n.
  • 18. Big O Notation  Example: f(n) = 10n2+4n+2 is O(n2) because 10n2+4n+2 <= 11n2 for all n >=5.  Example: f(n) = 6*2n+n2 is O(2n) because 6*2n+n2 <=7*2n for all n>=4.  Algorithms can be:  O(1)  constant; O(log n)  logrithmic; O(nlogn); O(n) linear; O(n2)  quadratic; O(n3)  cubic; O(2n)  exponential.
  • 19. Big O Notation  Now it is easy to compare time or space complexities of algorithms.  Which algorithm complexity is better?  T(P1) = O(n) or T(P2) = O(n2)  T(P1) = O(1) or T(P2) = O(log n)  T(P1) = O(2n) or T(P2) = O(n10)
  • 20. Linear & Non Linear Data Structures  Linear data structures:- in which insertion and deletion is possible in linear fashion .  example:- arrays, linked lists.  Non linear data structures:-in which it is not possible. example:- trees ,stacks
  • 21. LINEAR DATA STRUCTURE Array  Array is linear, homogeneous data structures whose elements are stored in contiguous memory locations.
  • 22. Arrays  Array: a set of pairs, <index, value>  Data structure  For each index, there is a value associated with that index.  Representation (possible)  Implemented by using consecutive memory.  In mathematical terms, we call this a correspondence or a mapping.
  • 23. Initializing Arrays  Using a loop:  for (int i = 0; i < myList.length; i++)  myList[i] = i;  Declaring, creating, initializing in one step:  double[] myList = {1.9, 2.9, 3.4, 3.5};  This shorthand syntax must be in one statement.
  • 24. Declaring and Creating in One Step  datatype[] arrayname = new  datatype[arraySize];  double[] myList = new double[10];  datatype arrayname[] = new datatype[arraySize];  double myList[] = new double[10];
  • 25. Sparse Matrix[2]  A sparse matrix is a matrix that has many zero entries.                       0002800 0000091 000000 006000 0003110 150220015 • This is a __×__ matrix. • There are _____ entries. • There are _____ nonzero entries. • There are _____ zero entries. Consider we use a 2D array to represent a n×n sparse matrix. How many entries are required? _____ entries. The space complexity is O( ).
  • 26. Sparse Matrix  If n is large, say n = 5000, we need 25 million elements to store the matrix.  25 million units of time for operation such as addition and transposition.  Using a representation that stores only the nonzero entries can reduce the space and time requirements considerably.
  • 27. Sparse Matrix Representation  The information we need to know  The number of rows  The number of columns  The number of nonzero entries  All the nonzero entries are stored in an array. Therefore, we also have to know  The capacity of the array  Each element contains a triple <row, col, value> to store.  The triples are ordered by rows and within rows by columns.
  • 28. Sparse Matrix Representation class SparseMatrix; class MatrixEntry { friend class SparseMatrix; private: int row, col, value; }; class SparseMatrix { private: int rows, cols, terms, capacity; MatrixEntry *smArray; };
  • 29. The array as an ADT  When considering an ADT we are more concerned with the operations that can be performed on an array.  Aside from creating a new array, most languages provide only two standard operations for arrays, one that retrieves a value, and a second that stores a value.  The advantage of this ADT definition is that it clearly points out the fact that the array is a more general structure than “a consecutive set of memory locations.”
  • 30. Exercise : Bubble Sort int[] myList = {2, 9, 5, 4, 8, 1, 6}; // Unsorted Pass 1: 2, 5, 4, 8, 1, 6, 9 Pass 2: 2, 4, 5, 1, 6, 8, 9 Pass 3: 2, 4, 1, 5, 6, 8, 9 Pass 4: 2, 1, 4, 5, 6, 8, 9 Pass 5: 1, 2, 4, 5, 6, 8, 9 Pass 6: 1, 2, 4, 5, 6, 8, 9
  • 31. Tower of Hanoi[3]  The Objective is to transfer the entire tower to one of the other pegs.  However you can only move one disk at a time and you can never stack a larger disk onto a smaller disk. Try to solve it in fewest possible moves.
  • 33. References 1) An introduction to Datastructure with application by jean Trembley and sorrenson 2) Data structures by schaums and series –seymour lipschutz 3) http://en.wikipedia.org/wiki/Book:Data_structures 4) http://www.amazon.com/Data-Structures-Algorithms 5) http://www.amazon.in/Data-Structures-Algorithms-Made- Easy/dp/0615459811/ 6) http://www.amazon.in/Data-Structures-SIE-Seymour-Lipschutz/dp List of Images 1. Data structures by schaums and series –seymour lipschutz 2. http://en.wikipedia.org/wiki/Book:Data_structures 3. http://en.wikipedia.org/wiki/tower of hanoi 4. http://en.wikipedia.org/wiki/tower of hanoi