SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
Data Structures &
Algorithms
Chapter One : Introduction to Data
Structures
Need of Data Structures
Advantages of Data Structures
Data Structure Classification
Operations on data structure
Introduction
Data Structure can be defined as the group of data
elements which provides an efficient way of storing
and organizing data in the computer so that it can be
used efficiently.
Data Structures are widely used in almost every
aspect of Computer Science i.e. Operating System,
Compiler Design, Artificial intelligence, Graphics
and many more.
Introduction
 Data Structures are the main part of many
computer science algorithms as they enable the
programmers to handle the data in an efficient
way.
 It plays a vital role in enhancing the
performance of a software or a program as the
main function of the software is to store and
retrieve the user's data as fast as possible
Algorithm
 An algorithm is a procedure having well defined
steps for solving a particular problem. Algorithm is
finite set of logic or instructions, written in order for
accomplish the certain predefined task. It is not the
complete program or code, it is just a solution
(logic) of a problem.
Categories Of Algorithm
The major categories of algorithms are given below:
 Sort: Algorithm developed for sorting the items in certain
order.
 Search: Algorithm developed for searching the items inside
a data structure.
 Delete: Algorithm developed for deleting the existing
element from the data structure.
 Insert: Algorithm developed for inserting an item inside a
data structure.
 Update: Algorithm developed for updating the existing
element inside a data structure.
The performance of algorithm is measured on the
basis of following properties:
 Time complexity: It is a way of representing the
amount of time needed by a program to run to the
completion.
 Space complexity: It is the amount of memory
space required by an algorithm, during a course of
its execution. Space complexity is required in
situations when limited memory is available and for
the multi user system.
Example: Design an algorithm to multiply
the two numbers x and y and display the
result in z.
 Step 1 START
 Step 2 declare three integers x, y & z
 Step 3 define values of x & y
 Step 4 multiply values of x & y
 Step 5 store the output of step 4 in z
 Step 6 print z
 Step 7 STOP
Alternatively the algorithm can be written as ?
 Step 1 START MULTIPLY
 Step 2 get values of x & y
 Step 3 z← x * y
 Step 4 display z
 Step 5 STOP
Exercise
Design an algorithm for a
booking cap app?
Characteristics of an Algorithm
An algorithm must follow the mentioned below
characteristics:
 Input: An algorithm must have 0 or well defined inputs.
 Output: An algorithm must have 1 or well defined outputs,
and should match with the desired output.
 Feasibility: An algorithm must be terminated after the finite
number of steps.
 Independent: An algorithm must have step-by-step
directions which is independent of any programming code.
 Unambiguous: An algorithm must be unambiguous and
clear. Each of their steps and input/outputs must be clear
and lead to only one meaning.

Asymptotic Analysis
In mathematical analysis, asymptotic analysis of
algorithm is a method of defining the mathematical
foundation of its run-time performance. Using the
asymptotic analysis, we can easily conclude about
the average case, best case and worst case scenario
of an algorithm.
Usually the time required by an algorithm
comes under three types:
 Worst case: It defines the input for which
the algorithm takes the huge time.
 Average case: It takes average time for
the program execution.
 Best case: It defines the input for which
the algorithm takes the lowest time.
Asymptotic Notations
The commonly used asymptotic notations
used for calculating the running time
complexity of an algorithm is given below:
 Big oh Notation (Ο) (Worst case )
 Omega Notation (Ω) (Best case )
 Theta Notation (θ) (Average case )
Need of Data Structures
 As applications are getting complexed and
amount of data is increasing day by day, there
may arise the following problems:
 Processor speed: To handle very large
amount of data, high speed processing is
required, but as the data is growing day by day
to the billions of files per entity, processor may
fail to deal with that much amount of data.
Need of Data Structures
 Data Search: Consider an inventory size of
106 items in a store, If our application needs to
search for a particular item, it needs to traverse
106 items every time, results in slowing down
the search process.
 Multiple requests: If thousands of users are
searching the data simultaneously on a web
server, then there are the chances that a very
large server can be failed during that process
Need of Data Structures
 in order to solve the above problems, data
structures are used. Data is organized to form a
data structure in such a way that all items are
not required to be searched and required data
can be searched instantly.
Advantages of Data Structures
 Efficiency: Efficiency of a program depends upon
the choice of data structures. For example: suppose,
we have some data and we need to perform the
search for a particular record. In that case, if we
organize our data in an array, we will have to search
sequentially element by element. hence, using array
may not be very efficient here. There are better data
structures which can make the search process
efficient like binary search tree or hash tables.
Advantages of Data Structures
 Reusability: Data structures are reusable, i.e. once
we have implemented a particular data structure, we
can use it at any other place.
 Abstraction: Data structure is specified by the ADT
which provides a level of abstraction. The client
program uses the data structure through interface
only, without getting into the implementation
details.
Data Structure Classifications
Types Of Data Structure
 Linear Data Structures:
A data structure is called linear if all of its
elements are arranged in the linear order. In
linear data structures, the elements are stored in
non-hierarchical way.
Types of Linear Data Structures are given below:
 Arrays: An array is a collection of similar type
of data items and each data item is called an
element of the array. The data type of the element
may be any valid data type like char, int, float or
double.
Cont…
 The elements of array share the same variable
name but each one carries a different index
number known as subscript. The array can be
one dimensional, two dimensional or
multidimensional.
The individual elements of the array age are:
 age[0], age[1], age[2], age[3],......... age[98],
age[99].
Cont…
 Linked List:
Linked list is a linear data structure which is used to
maintain a list in the memory. It can be seen as the
collection of nodes stored at non-contiguous
memory locations. Each node of the list contains a
pointer to its adjacent node.
 Stack: Stack is a linear list in which insertion and
deletions are allowed only at one end, called top
Cont…
 Queue: Queue is a linear list in which elements
can be inserted only at one end called rear and
deleted only at the other end called front.
Types Of Data Structure
 Non Linear Data Structures:
This data structure does not form a sequence
i.e. each item or element is connected with two
or more other items in a non-linear
arrangement. The data elements are not
arranged in sequential structure.
Non Linear Data Structures:
 Trees: Trees are multilevel data structures with a
hierarchical relationship among its elements known
as nodes. The bottom most nodes in the hierarchy
are called leaf node while the top most node is
called root node. Each node contains pointers to
point adjacent nodes.
 Tree data structure is based on the parent-child
relationship among the nodes. Each node in the tree
can have more than one children except the leaf
nodes whereas each node can have at most one
parent except the root node.
Non Linear Data Structures:
 Graphs: Graphs can be defined as the pictorial
representation of the set of elements (represented
by vertices) connected by the links known as
edges. A graph is different from tree in the sense
that a graph can have cycle while the tree can not
have the one.
Operations on data structure
 Insertion:
Insertion can be defined as the process of adding
the elements to the data structure at any location.
 Deletion:
The process of removing an element from the data
structure is called Deletion. We can delete an
element from the data structure at any random
location.
Operations on data structure
 Searching:
The process of finding the location of an
element within the data structure is called
Searching.
There are two algorithms to perform
searching, Linear Search and Binary
Search. We will discuss each one of them
later .
Operations on data structure
 Sorting: The process of arranging the data
structure in a specific order is known as Sorting.
There are many algorithms that can be used to
perform sorting, for example, insertion sort,
selection sort, bubble sort, etc.
 Merging:
When two lists List A and List B of size M and N
respectively, of similar type of elements, clubbed
or joined to produce the third list, List C of size
(M+N), then this process is called merging
Assignment1
1 Define data structures. Give some examples.
2 Discuss the applications of data structures.
3 Write a short note on different operations that
can be performed on data structures.
4 Compare a linked list with and array.
5 Discuss the best case, worst case, average
case, time complexity of an algorithm.
END

Contenu connexe

Similaire à Chapter 1 Introduction to Data Structures and Algorithms.pdf

Introduction to data structure
Introduction to data structureIntroduction to data structure
Introduction to data structuresunilchute1
 
CHAPTER-1- Introduction to data structure.pptx
CHAPTER-1- Introduction to data structure.pptxCHAPTER-1- Introduction to data structure.pptx
CHAPTER-1- Introduction to data structure.pptxOnkarModhave
 
DS Module 1.pptx
DS Module 1.pptxDS Module 1.pptx
DS Module 1.pptxsarala9
 
Iare ds lecture_notes_2
Iare ds lecture_notes_2Iare ds lecture_notes_2
Iare ds lecture_notes_2RajSingh734307
 
Introduction to data structures (ss)
Introduction to data structures (ss)Introduction to data structures (ss)
Introduction to data structures (ss)Madishetty Prathibha
 
Data structures and algorithms short note (version 14).pd
Data structures and algorithms short note (version 14).pdData structures and algorithms short note (version 14).pd
Data structures and algorithms short note (version 14).pdNimmi Weeraddana
 
DS Module 1.pptx
DS Module 1.pptxDS Module 1.pptx
DS Module 1.pptxSaralaT3
 
Unit.1 Introduction to Data Structuresres
Unit.1 Introduction to Data StructuresresUnit.1 Introduction to Data Structuresres
Unit.1 Introduction to Data Structuresresamplopsurat
 
Introduction to Data Structure
Introduction to Data Structure Introduction to Data Structure
Introduction to Data Structure Prof Ansari
 
Data Structure Notes unit 1.docx
Data Structure Notes unit 1.docxData Structure Notes unit 1.docx
Data Structure Notes unit 1.docxkp370932
 
Chapter 1( intro & overview)
Chapter 1( intro & overview)Chapter 1( intro & overview)
Chapter 1( intro & overview)MUHAMMAD AAMIR
 
Algorithms.pptx
Algorithms.pptxAlgorithms.pptx
Algorithms.pptxjohn6938
 
Data structure and algorithm.
Data structure and algorithm. Data structure and algorithm.
Data structure and algorithm. Abdul salam
 

Similaire à Chapter 1 Introduction to Data Structures and Algorithms.pdf (20)

Introduction to data structure
Introduction to data structureIntroduction to data structure
Introduction to data structure
 
UNIT II.docx
UNIT II.docxUNIT II.docx
UNIT II.docx
 
CHAPTER-1- Introduction to data structure.pptx
CHAPTER-1- Introduction to data structure.pptxCHAPTER-1- Introduction to data structure.pptx
CHAPTER-1- Introduction to data structure.pptx
 
Lecture 1 and 2
Lecture 1 and 2Lecture 1 and 2
Lecture 1 and 2
 
DS Module 1.pptx
DS Module 1.pptxDS Module 1.pptx
DS Module 1.pptx
 
Datastructures Notes
Datastructures NotesDatastructures Notes
Datastructures Notes
 
Lect 1-2 Zaheer Abbas
Lect 1-2 Zaheer AbbasLect 1-2 Zaheer Abbas
Lect 1-2 Zaheer Abbas
 
Data structure
Data structureData structure
Data structure
 
Iare ds lecture_notes_2
Iare ds lecture_notes_2Iare ds lecture_notes_2
Iare ds lecture_notes_2
 
Introduction to data structures (ss)
Introduction to data structures (ss)Introduction to data structures (ss)
Introduction to data structures (ss)
 
Data structures and algorithms short note (version 14).pd
Data structures and algorithms short note (version 14).pdData structures and algorithms short note (version 14).pd
Data structures and algorithms short note (version 14).pd
 
Lect 1-2
Lect 1-2Lect 1-2
Lect 1-2
 
DS Module 1.pptx
DS Module 1.pptxDS Module 1.pptx
DS Module 1.pptx
 
Unit.1 Introduction to Data Structuresres
Unit.1 Introduction to Data StructuresresUnit.1 Introduction to Data Structuresres
Unit.1 Introduction to Data Structuresres
 
Introduction to Data Structure
Introduction to Data Structure Introduction to Data Structure
Introduction to Data Structure
 
Data Structure Notes unit 1.docx
Data Structure Notes unit 1.docxData Structure Notes unit 1.docx
Data Structure Notes unit 1.docx
 
Data Structures & Algorithms
Data Structures & AlgorithmsData Structures & Algorithms
Data Structures & Algorithms
 
Chapter 1( intro & overview)
Chapter 1( intro & overview)Chapter 1( intro & overview)
Chapter 1( intro & overview)
 
Algorithms.pptx
Algorithms.pptxAlgorithms.pptx
Algorithms.pptx
 
Data structure and algorithm.
Data structure and algorithm. Data structure and algorithm.
Data structure and algorithm.
 

Dernier

A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptxPoojaSen20
 
Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersChitralekhaTherkar
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfUmakantAnnand
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991RKavithamani
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 

Dernier (20)

A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptx
 
Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of Powders
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.Compdf
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 

Chapter 1 Introduction to Data Structures and Algorithms.pdf

  • 1. Data Structures & Algorithms Chapter One : Introduction to Data Structures Need of Data Structures Advantages of Data Structures Data Structure Classification Operations on data structure
  • 2. Introduction Data Structure can be defined as the group of data elements which provides an efficient way of storing and organizing data in the computer so that it can be used efficiently. Data Structures are widely used in almost every aspect of Computer Science i.e. Operating System, Compiler Design, Artificial intelligence, Graphics and many more.
  • 3. Introduction  Data Structures are the main part of many computer science algorithms as they enable the programmers to handle the data in an efficient way.  It plays a vital role in enhancing the performance of a software or a program as the main function of the software is to store and retrieve the user's data as fast as possible
  • 4. Algorithm  An algorithm is a procedure having well defined steps for solving a particular problem. Algorithm is finite set of logic or instructions, written in order for accomplish the certain predefined task. It is not the complete program or code, it is just a solution (logic) of a problem.
  • 5. Categories Of Algorithm The major categories of algorithms are given below:  Sort: Algorithm developed for sorting the items in certain order.  Search: Algorithm developed for searching the items inside a data structure.  Delete: Algorithm developed for deleting the existing element from the data structure.  Insert: Algorithm developed for inserting an item inside a data structure.  Update: Algorithm developed for updating the existing element inside a data structure.
  • 6. The performance of algorithm is measured on the basis of following properties:  Time complexity: It is a way of representing the amount of time needed by a program to run to the completion.  Space complexity: It is the amount of memory space required by an algorithm, during a course of its execution. Space complexity is required in situations when limited memory is available and for the multi user system.
  • 7. Example: Design an algorithm to multiply the two numbers x and y and display the result in z.  Step 1 START  Step 2 declare three integers x, y & z  Step 3 define values of x & y  Step 4 multiply values of x & y  Step 5 store the output of step 4 in z  Step 6 print z  Step 7 STOP
  • 8. Alternatively the algorithm can be written as ?  Step 1 START MULTIPLY  Step 2 get values of x & y  Step 3 z← x * y  Step 4 display z  Step 5 STOP
  • 9. Exercise Design an algorithm for a booking cap app?
  • 10. Characteristics of an Algorithm An algorithm must follow the mentioned below characteristics:  Input: An algorithm must have 0 or well defined inputs.  Output: An algorithm must have 1 or well defined outputs, and should match with the desired output.  Feasibility: An algorithm must be terminated after the finite number of steps.  Independent: An algorithm must have step-by-step directions which is independent of any programming code.  Unambiguous: An algorithm must be unambiguous and clear. Each of their steps and input/outputs must be clear and lead to only one meaning. 
  • 11. Asymptotic Analysis In mathematical analysis, asymptotic analysis of algorithm is a method of defining the mathematical foundation of its run-time performance. Using the asymptotic analysis, we can easily conclude about the average case, best case and worst case scenario of an algorithm.
  • 12. Usually the time required by an algorithm comes under three types:  Worst case: It defines the input for which the algorithm takes the huge time.  Average case: It takes average time for the program execution.  Best case: It defines the input for which the algorithm takes the lowest time.
  • 13. Asymptotic Notations The commonly used asymptotic notations used for calculating the running time complexity of an algorithm is given below:  Big oh Notation (Ο) (Worst case )  Omega Notation (Ω) (Best case )  Theta Notation (θ) (Average case )
  • 14. Need of Data Structures  As applications are getting complexed and amount of data is increasing day by day, there may arise the following problems:  Processor speed: To handle very large amount of data, high speed processing is required, but as the data is growing day by day to the billions of files per entity, processor may fail to deal with that much amount of data.
  • 15. Need of Data Structures  Data Search: Consider an inventory size of 106 items in a store, If our application needs to search for a particular item, it needs to traverse 106 items every time, results in slowing down the search process.  Multiple requests: If thousands of users are searching the data simultaneously on a web server, then there are the chances that a very large server can be failed during that process
  • 16. Need of Data Structures  in order to solve the above problems, data structures are used. Data is organized to form a data structure in such a way that all items are not required to be searched and required data can be searched instantly.
  • 17. Advantages of Data Structures  Efficiency: Efficiency of a program depends upon the choice of data structures. For example: suppose, we have some data and we need to perform the search for a particular record. In that case, if we organize our data in an array, we will have to search sequentially element by element. hence, using array may not be very efficient here. There are better data structures which can make the search process efficient like binary search tree or hash tables.
  • 18. Advantages of Data Structures  Reusability: Data structures are reusable, i.e. once we have implemented a particular data structure, we can use it at any other place.  Abstraction: Data structure is specified by the ADT which provides a level of abstraction. The client program uses the data structure through interface only, without getting into the implementation details.
  • 20. Types Of Data Structure  Linear Data Structures: A data structure is called linear if all of its elements are arranged in the linear order. In linear data structures, the elements are stored in non-hierarchical way. Types of Linear Data Structures are given below:  Arrays: An array is a collection of similar type of data items and each data item is called an element of the array. The data type of the element may be any valid data type like char, int, float or double.
  • 21. Cont…  The elements of array share the same variable name but each one carries a different index number known as subscript. The array can be one dimensional, two dimensional or multidimensional. The individual elements of the array age are:  age[0], age[1], age[2], age[3],......... age[98], age[99].
  • 22. Cont…  Linked List: Linked list is a linear data structure which is used to maintain a list in the memory. It can be seen as the collection of nodes stored at non-contiguous memory locations. Each node of the list contains a pointer to its adjacent node.  Stack: Stack is a linear list in which insertion and deletions are allowed only at one end, called top
  • 23. Cont…  Queue: Queue is a linear list in which elements can be inserted only at one end called rear and deleted only at the other end called front.
  • 24. Types Of Data Structure  Non Linear Data Structures: This data structure does not form a sequence i.e. each item or element is connected with two or more other items in a non-linear arrangement. The data elements are not arranged in sequential structure.
  • 25. Non Linear Data Structures:  Trees: Trees are multilevel data structures with a hierarchical relationship among its elements known as nodes. The bottom most nodes in the hierarchy are called leaf node while the top most node is called root node. Each node contains pointers to point adjacent nodes.  Tree data structure is based on the parent-child relationship among the nodes. Each node in the tree can have more than one children except the leaf nodes whereas each node can have at most one parent except the root node.
  • 26. Non Linear Data Structures:  Graphs: Graphs can be defined as the pictorial representation of the set of elements (represented by vertices) connected by the links known as edges. A graph is different from tree in the sense that a graph can have cycle while the tree can not have the one.
  • 27. Operations on data structure  Insertion: Insertion can be defined as the process of adding the elements to the data structure at any location.  Deletion: The process of removing an element from the data structure is called Deletion. We can delete an element from the data structure at any random location.
  • 28. Operations on data structure  Searching: The process of finding the location of an element within the data structure is called Searching. There are two algorithms to perform searching, Linear Search and Binary Search. We will discuss each one of them later .
  • 29. Operations on data structure  Sorting: The process of arranging the data structure in a specific order is known as Sorting. There are many algorithms that can be used to perform sorting, for example, insertion sort, selection sort, bubble sort, etc.  Merging: When two lists List A and List B of size M and N respectively, of similar type of elements, clubbed or joined to produce the third list, List C of size (M+N), then this process is called merging
  • 30. Assignment1 1 Define data structures. Give some examples. 2 Discuss the applications of data structures. 3 Write a short note on different operations that can be performed on data structures. 4 Compare a linked list with and array. 5 Discuss the best case, worst case, average case, time complexity of an algorithm.
  • 31. END