SlideShare a Scribd company logo
Course: BSC CS
Subject: Data 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

What's hot (20)

PPT
SEARCHING AND SORTING ALGORITHMS
Gokul Hari
 
PPT
FUNCTIONS IN c++ PPT
03062679929
 
PPTX
Insertion sort
almaqboli
 
PDF
Linked List, Types of Linked LIst, Various Operations, Applications of Linked...
Balwant Gorad
 
PDF
Searching and Sorting Techniques in Data Structure
Balwant Gorad
 
PDF
Data Structures Chapter-2
priyavanimurugarajan
 
PDF
Data Structures
Prof. Dr. K. Adisesha
 
PPTX
Stacks and Queue - Data Structures
Dr. Jasmine Beulah Gnanadurai
 
PPTX
Recursive Function
Harsh Pathak
 
PPTX
C decision making and looping.
Haard Shah
 
PPTX
Quick sort
Afaq Mansoor Khan
 
PPT
Stack Data Structure & It's Application
Tech_MX
 
PPTX
Hash table
Vu Tran
 
PPT
Searching algorithms
Trupti Agrawal
 
PDF
UNIT I LINEAR DATA STRUCTURES – LIST
Kathirvel Ayyaswamy
 
PDF
advanced searching and sorting.pdf
haramaya university
 
PPTX
Space complexity
Bhanusree Koduru
 
PPTX
Control statements in java
Madishetty Prathibha
 
PPTX
Linked List
Ashim Lamichhane
 
SEARCHING AND SORTING ALGORITHMS
Gokul Hari
 
FUNCTIONS IN c++ PPT
03062679929
 
Insertion sort
almaqboli
 
Linked List, Types of Linked LIst, Various Operations, Applications of Linked...
Balwant Gorad
 
Searching and Sorting Techniques in Data Structure
Balwant Gorad
 
Data Structures Chapter-2
priyavanimurugarajan
 
Data Structures
Prof. Dr. K. Adisesha
 
Stacks and Queue - Data Structures
Dr. Jasmine Beulah Gnanadurai
 
Recursive Function
Harsh Pathak
 
C decision making and looping.
Haard Shah
 
Quick sort
Afaq Mansoor Khan
 
Stack Data Structure & It's Application
Tech_MX
 
Hash table
Vu Tran
 
Searching algorithms
Trupti Agrawal
 
UNIT I LINEAR DATA STRUCTURES – LIST
Kathirvel Ayyaswamy
 
advanced searching and sorting.pdf
haramaya university
 
Space complexity
Bhanusree Koduru
 
Control statements in java
Madishetty Prathibha
 
Linked List
Ashim Lamichhane
 

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

PPTX
Bca ii dfs u-1 introduction to data structure
Rai University
 
PPTX
Mca ii dfs u-1 introduction to data structure
Rai University
 
PPTX
Data structures - Introduction
DeepaThirumurugan
 
PPTX
Data Structures - Lecture 1 - Unit 1.pptx
DanielNesaKumarC
 
PPTX
project on data structures and algorithm
AnujKumar566766
 
DOCX
3rd-Sem_CSE_Data-Structures and Applications.docx
harshavardhan543715
 
PDF
Chapter 1 Introduction to Data Structures and Algorithms.pdf
Axmedcarb
 
PPTX
Introduction to Data Structures and their importance
Bulbul Agrawal
 
PDF
M v bramhananda reddy dsa complete notes
Malikireddy Bramhananda Reddy
 
PPTX
introduction about data structure_i.pptx
poonamsngr
 
PPTX
1-Introduction to Data Structures beginner.pptx
231b209
 
PPTX
II B.Sc IT DATA STRUCTURES.pptx
sabithabanu83
 
PPTX
Introduction to DS.pptx
OnkarModhave
 
PPTX
Unit I- Data structures Introduction, Evaluation of Algorithms, Arrays, Spars...
DrkhanchanaR
 
PDF
Unit-I PPT hususi sisooshsgv. Eijeieieooekejj
sanketkurve7
 
PPTX
Introduction to data structures using c/c++.pptx
donemoremaregere376
 
PPT
DATA STRUCTURE AND ALGORITHMS
removed_8057d320f6c8601c14a895598b86eacb
 
DOCX
Data structure and algorithm.
Abdul salam
 
PPTX
Data Structures unit I Introduction - data types
AmirthaVarshini80
 
PPT
Ch 1 intriductions
irshad17
 
Bca ii dfs u-1 introduction to data structure
Rai University
 
Mca ii dfs u-1 introduction to data structure
Rai University
 
Data structures - Introduction
DeepaThirumurugan
 
Data Structures - Lecture 1 - Unit 1.pptx
DanielNesaKumarC
 
project on data structures and algorithm
AnujKumar566766
 
3rd-Sem_CSE_Data-Structures and Applications.docx
harshavardhan543715
 
Chapter 1 Introduction to Data Structures and Algorithms.pdf
Axmedcarb
 
Introduction to Data Structures and their importance
Bulbul Agrawal
 
M v bramhananda reddy dsa complete notes
Malikireddy Bramhananda Reddy
 
introduction about data structure_i.pptx
poonamsngr
 
1-Introduction to Data Structures beginner.pptx
231b209
 
II B.Sc IT DATA STRUCTURES.pptx
sabithabanu83
 
Introduction to DS.pptx
OnkarModhave
 
Unit I- Data structures Introduction, Evaluation of Algorithms, Arrays, Spars...
DrkhanchanaR
 
Unit-I PPT hususi sisooshsgv. Eijeieieooekejj
sanketkurve7
 
Introduction to data structures using c/c++.pptx
donemoremaregere376
 
DATA STRUCTURE AND ALGORITHMS
removed_8057d320f6c8601c14a895598b86eacb
 
Data structure and algorithm.
Abdul salam
 
Data Structures unit I Introduction - data types
AmirthaVarshini80
 
Ch 1 intriductions
irshad17
 
Ad

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
 
Ad

Recently uploaded (20)

PPTX
grade 5 lesson matatag ENGLISH 5_Q1_PPT_WEEK4.pptx
SireQuinn
 
PDF
Chapter-V-DED-Entrepreneurship: Institutions Facilitating Entrepreneurship
Dayanand Huded
 
PDF
Biological Bilingual Glossary Hindi and English Medium
World of Wisdom
 
PPTX
PPT-Q1-WEEK-3-SCIENCE-ERevised Matatag Grade 3.pptx
reijhongidayawan02
 
PPTX
HUMAN RESOURCE MANAGEMENT: RECRUITMENT, SELECTION, PLACEMENT, DEPLOYMENT, TRA...
PRADEEP ABOTHU
 
PPTX
care of patient with elimination needs.pptx
Rekhanjali Gupta
 
PDF
The Different Types of Non-Experimental Research
Thelma Villaflores
 
PDF
Horarios de distribución de agua en julio
pegazohn1978
 
PDF
DIGESTION OF CARBOHYDRATES,PROTEINS,LIPIDS
raviralanaresh2
 
PDF
Knee Extensor Mechanism Injuries - Orthopedic Radiologic Imaging
Sean M. Fox
 
PPTX
Stereochemistry-Optical Isomerism in organic compoundsptx
Tarannum Nadaf-Mansuri
 
PPTX
Post Dated Cheque(PDC) Management in Odoo 18
Celine George
 
PPTX
Identifying elements in the story. Arrange the events in the story
geraldineamahido2
 
PDF
Geographical Diversity of India 100 Mcq.pdf/ 7th class new ncert /Social/Samy...
Sandeep Swamy
 
PPTX
ASRB NET 2023 PREVIOUS YEAR QUESTION PAPER GENETICS AND PLANT BREEDING BY SAT...
Krashi Coaching
 
PDF
ARAL_Orientation_Day-2-Sessions_ARAL-Readung ARAL-Mathematics ARAL-Sciencev2.pdf
JoelVilloso1
 
PDF
QNL June Edition hosted by Pragya the official Quiz Club of the University of...
Pragya - UEM Kolkata Quiz Club
 
PPTX
I AM MALALA The Girl Who Stood Up for Education and was Shot by the Taliban...
Beena E S
 
PDF
Aprendendo Arquitetura Framework Salesforce - Dia 03
Mauricio Alexandre Silva
 
PPTX
How to Create Odoo JS Dialog_Popup in Odoo 18
Celine George
 
grade 5 lesson matatag ENGLISH 5_Q1_PPT_WEEK4.pptx
SireQuinn
 
Chapter-V-DED-Entrepreneurship: Institutions Facilitating Entrepreneurship
Dayanand Huded
 
Biological Bilingual Glossary Hindi and English Medium
World of Wisdom
 
PPT-Q1-WEEK-3-SCIENCE-ERevised Matatag Grade 3.pptx
reijhongidayawan02
 
HUMAN RESOURCE MANAGEMENT: RECRUITMENT, SELECTION, PLACEMENT, DEPLOYMENT, TRA...
PRADEEP ABOTHU
 
care of patient with elimination needs.pptx
Rekhanjali Gupta
 
The Different Types of Non-Experimental Research
Thelma Villaflores
 
Horarios de distribución de agua en julio
pegazohn1978
 
DIGESTION OF CARBOHYDRATES,PROTEINS,LIPIDS
raviralanaresh2
 
Knee Extensor Mechanism Injuries - Orthopedic Radiologic Imaging
Sean M. Fox
 
Stereochemistry-Optical Isomerism in organic compoundsptx
Tarannum Nadaf-Mansuri
 
Post Dated Cheque(PDC) Management in Odoo 18
Celine George
 
Identifying elements in the story. Arrange the events in the story
geraldineamahido2
 
Geographical Diversity of India 100 Mcq.pdf/ 7th class new ncert /Social/Samy...
Sandeep Swamy
 
ASRB NET 2023 PREVIOUS YEAR QUESTION PAPER GENETICS AND PLANT BREEDING BY SAT...
Krashi Coaching
 
ARAL_Orientation_Day-2-Sessions_ARAL-Readung ARAL-Mathematics ARAL-Sciencev2.pdf
JoelVilloso1
 
QNL June Edition hosted by Pragya the official Quiz Club of the University of...
Pragya - UEM Kolkata Quiz Club
 
I AM MALALA The Girl Who Stood Up for Education and was Shot by the Taliban...
Beena E S
 
Aprendendo Arquitetura Framework Salesforce - Dia 03
Mauricio Alexandre Silva
 
How to Create Odoo JS Dialog_Popup in Odoo 18
Celine George
 

Bsc cs ii dfs u-1 introduction to data structure

  • 1. Course: BSC CS Subject: Data 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