SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Ähnlich wie 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
 

Ähnlich wie 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.
 

Kürzlich hochgeladen

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
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
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
 
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
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...M56BOOKSTORE PRODUCT/SERVICE
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Class 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdfClass 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdfakmcokerachita
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 

Kürzlich hochgeladen (20)

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
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
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
 
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
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
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
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Class 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdfClass 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdf
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 

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