SlideShare a Scribd company logo
2
Most read
4
Most read
12
Most read
ADSA- ADVANCED DATA STRUCTURES AND
ALGORITHMS (SEM-IV)
OUTLINE
Course Objectives
Course Outcome
Teaching Scheme
Modes of Assessment / Evaluation
Syllabus
Experiment List
Research Opportunities
Course Objectives:
The course intends to provide concrete implementations and
manipulation of discrete structures and their use in design and
analysis of non-trivial algorithms for a given computational task by
teaching the students fundamentals of Algorithms and Data
Structures.
Course Outcomes:
students will be able to:
MODES OF CONTINUOS ASSESSMENT /
EVALUATION
ISE: In-Semester Examination
IE: Innovative Examination
ESE: End Semester Examination
ADSA orientation.pptx
ADSA orientation.pptx
ADSA orientation.pptx
ADSA orientation.pptx
INNOVATIVE EXAMINATION
 This examination included in the Syllabus for 20 Marks
 Purpose is to evaluate student w.r.t understanding the
Subject concepts and its use to designs small applications.
 In Innovative Practice Students in a group or individually can
identify and implement given/self identified problem
definition.
 During the Semester Submission Small Report and
Presentation of IE needs to be Submitted and presented the
same during Oral Examination
RESEARCH OPPORTUNITIES
1. Search engine for data structures
2. Phone directory application using doubly-linked
lists
3. Spatial indexing with quadtrees
4. Graph-based projects on data structures
5. Stack-based text editor
MODULE -1
COMPLEXITY ANALYSIS
• Time & Space Complexity of Algorithms
• Importance of Efficient Algorithms
• Calculating time complexity of operations on data
structures (insert, delete, search, display)
• Total= 4 hrs
Time & Space Complexity
 Time complexity of an algorithm signifies the total time required by the program to
run till its completion.
 The time complexity of algorithms is most commonly expressed using the big O
notation. It's an asymptotic notation to represent the time complexity.
 Time Complexity is most commonly estimated by counting the number of elementary
steps performed by any algorithm to finish execution. Like in the example above, for
the first code the loop will run n number of times, so the time complexity will
be n atleast and as the value of n will increase the time taken will also increase.
 While for the second code, time complexity is constant, because it will never be
dependent on the value of n, it will always give the result in 1 step.
Algorithm Analysis
The algorithm can be analyzed in two levels, i.e., first is before creating the
algorithm, and second is after creating the algorithm. The following are the two
analysis of an algorithm:
Priori Analysis: Here, priori analysis is the theoretical analysis of an algorithm
which is done before implementing the algorithm. Various factors can be
considered before implementing the algorithm like processor speed, which has
no effect on the implementation part.
Posterior Analysis: Here, posterior analysis is a practical analysis of an
algorithm. The practical analysis is achieved by implementing the algorithm
using any programming language. This analysis basically evaluate that how
much running time and space taken by the algorithm.
Performance Analysis of an algorithm
Performance analysis of an algorithm is the process of calculating space and time
required by that algorithm.
Performance analysis of an algorithm is performed by using the following measures...
1. Space required to complete the task of that algorithm (Space Complexity). It includes
program space and data space.
2. Time required to complete the task of that algorithm (Time Complexity)
What is Time complexity?
The time complexity of an algorithm is the total amount of time required by an algorithm to
complete its execution. The running time of an algorithm depends upon the following...
1. Whether it is running on Single processor machine or Multi processor machine.
2. Whether it is a 32 bit machine or 64 bit machine.
3. Read and Write speed of the machine.
4. The amount of time required by an algorithm to perform Arithmetic operations, logical
operations, return value and assignment operations etc.,
5. Input data
Example
Consider the following piece of code..
int sum(int A[], int n)
{ int sum = 0, i; for(i = 0; i < n; i++)
sum = sum + A[i];
return sum;
}
For the above code, time complexity can be calculated as follows
Types of Algorithms
1. Search Algorithm
 Linear Search
 Binary Search
2. Sort Algorithm
 Bubble Sort
 Selection Sort
 Insertion Sort
 Merge Sort
 Quick Sort
 Heap Sort
Linear Search
It is one of the most simple and straightforward search
algorithms. In this, you need to traverse the entire list and keep
comparing the current element with the target element. If a
match is found, you can stop the search else continue.
Complexity Analysis
Time Complexity
•Best case - O(1)
The best occurs when the target element is found at the
beginning of the list/array. Since only one comparison is made,
the time complexity is O(1).
Example -
Array A[] = {3,4,0,9,8}
Target element = 3
Here, the target is found at A[0].
•Worst-case - O(n), where n is the size of the list/array.
The worst-case occurs when the target element is found at the end of the list or is
not present in the list/array. Since you need to traverse the entire list, the time
complexity is O(n), as n comparisons are needed.
•Average case - O(n)
The average case complexity of the linear search is also O(n).
Space Complexity
The space complexity of the linear search is O(1), as we don't need any auxiliary
space for the algorithm.
Binary Search
It is a divide and conquers algorithm in which we compare the target element with the
middle element of the list. If they are equal, then it implies that the target is found at the
middle position; else, we reduce the search space by half, i.e. apply binary search on
either of the left and right halves of the list depending upon whether target<middle
element or target>middle element. We continue this until a match is found or the size of
the array reaches 1.
Time Complexity
•Best case - O(1)
The best-case occurs when the target element is found in the middle of the
original list/array. Since only one comparison is needed, the time complexity is
O(1).
•Worst-case - O(logn)
The worst occurs when the algorithm keeps on searching for the target element
until the size of the array reduces to 1. Since the number of comparisons
required is logn, the time complexity is O(logn).
Binary Search
•Average case - O(logn)
Binary search has an average-case complexity of O(long).
Space Complexity
Since no extra space is needed, the space complexity of the binary search is
O(1).

More Related Content

PPTX
Algorithm analysis (All in one)
PPT
Unit II_Searching and Sorting Algorithms.ppt
PPTX
AoA Lec Design of algorithm spresentation
DOCX
PPTX
algorithmanalysisinfundamentalsofdatastructure-190810085243.pptx
PDF
complexity analysis.pdf
PPTX
Module-1.pptxbdjdhcdbejdjhdbchchchchchjcjcjc
PPTX
Modile-1-PPT-1-BCAC0207-AlgorithmDesign.pptx
Algorithm analysis (All in one)
Unit II_Searching and Sorting Algorithms.ppt
AoA Lec Design of algorithm spresentation
algorithmanalysisinfundamentalsofdatastructure-190810085243.pptx
complexity analysis.pdf
Module-1.pptxbdjdhcdbejdjhdbchchchchchjcjcjc
Modile-1-PPT-1-BCAC0207-AlgorithmDesign.pptx

Similar to ADSA orientation.pptx (20)

PPTX
Intro to super. advance algorithm..pptx
PPTX
daa unit 1.pptx
PPTX
TIME EXECUTION OF DIFFERENT SORTED ALGORITHMS
PDF
jn;lm;lkm';m';;lmppt of data structure.pdf
PDF
Iare ds ppt_3
PPTX
Analysis of Algorithm full version 2024.pptx
PPTX
Design Analysis of Alogorithm 1 ppt 2024.pptx
PDF
Lecture 2 role of algorithms in computing
PDF
Data Structure & Algorithms - Introduction
PPT
CSCI 4140-AA Lec_02.ppt
DOCX
Time Complexity Analysis in Data Structure.docx
PPTX
Design and Analysis of Algorithms.pptx
PPTX
Module 1_ Introduction.pptx
PPTX
19. algorithms and-complexity
PPT
Cis435 week01
PDF
Lecture 3 insertion sort and complexity analysis
PPTX
Recurrence Relation
PDF
Sortsearch
PPTX
Algorithms : Introduction and Analysis
Intro to super. advance algorithm..pptx
daa unit 1.pptx
TIME EXECUTION OF DIFFERENT SORTED ALGORITHMS
jn;lm;lkm';m';;lmppt of data structure.pdf
Iare ds ppt_3
Analysis of Algorithm full version 2024.pptx
Design Analysis of Alogorithm 1 ppt 2024.pptx
Lecture 2 role of algorithms in computing
Data Structure & Algorithms - Introduction
CSCI 4140-AA Lec_02.ppt
Time Complexity Analysis in Data Structure.docx
Design and Analysis of Algorithms.pptx
Module 1_ Introduction.pptx
19. algorithms and-complexity
Cis435 week01
Lecture 3 insertion sort and complexity analysis
Recurrence Relation
Sortsearch
Algorithms : Introduction and Analysis
Ad

Recently uploaded (20)

PPTX
Ship’s Structural Components.pptx 7.7 Mb
PDF
A Framework for Securing Personal Data Shared by Users on the Digital Platforms
PDF
Geotechnical Engineering, Soil mechanics- Soil Testing.pdf
PDF
classification of cubic lattice structure
PDF
Queuing formulas to evaluate throughputs and servers
PPTX
436813905-LNG-Process-Overview-Short.pptx
PDF
dse_final_merit_2025_26 gtgfffffcjjjuuyy
PDF
Introduction to Data Science: data science process
PDF
July 2025: Top 10 Read Articles Advanced Information Technology
PDF
Traditional Exams vs Continuous Assessment in Boarding Schools.pdf
PPTX
24AI201_AI_Unit_4 (1).pptx Artificial intelligence
PPTX
Fluid Mechanics, Module 3: Basics of Fluid Mechanics
PPTX
AgentX UiPath Community Webinar series - Delhi
PDF
flutter Launcher Icons, Splash Screens & Fonts
PDF
BRKDCN-2613.pdf Cisco AI DC NVIDIA presentation
PDF
Chad Ayach - A Versatile Aerospace Professional
PPTX
Glazing at Facade, functions, types of glazing
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PPTX
Soil science - sampling procedures for soil science lab
Ship’s Structural Components.pptx 7.7 Mb
A Framework for Securing Personal Data Shared by Users on the Digital Platforms
Geotechnical Engineering, Soil mechanics- Soil Testing.pdf
classification of cubic lattice structure
Queuing formulas to evaluate throughputs and servers
436813905-LNG-Process-Overview-Short.pptx
dse_final_merit_2025_26 gtgfffffcjjjuuyy
Introduction to Data Science: data science process
July 2025: Top 10 Read Articles Advanced Information Technology
Traditional Exams vs Continuous Assessment in Boarding Schools.pdf
24AI201_AI_Unit_4 (1).pptx Artificial intelligence
Fluid Mechanics, Module 3: Basics of Fluid Mechanics
AgentX UiPath Community Webinar series - Delhi
flutter Launcher Icons, Splash Screens & Fonts
BRKDCN-2613.pdf Cisco AI DC NVIDIA presentation
Chad Ayach - A Versatile Aerospace Professional
Glazing at Facade, functions, types of glazing
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
Soil science - sampling procedures for soil science lab
Ad

ADSA orientation.pptx

  • 1. ADSA- ADVANCED DATA STRUCTURES AND ALGORITHMS (SEM-IV)
  • 2. OUTLINE Course Objectives Course Outcome Teaching Scheme Modes of Assessment / Evaluation Syllabus Experiment List Research Opportunities
  • 3. Course Objectives: The course intends to provide concrete implementations and manipulation of discrete structures and their use in design and analysis of non-trivial algorithms for a given computational task by teaching the students fundamentals of Algorithms and Data Structures.
  • 5. MODES OF CONTINUOS ASSESSMENT / EVALUATION ISE: In-Semester Examination IE: Innovative Examination ESE: End Semester Examination
  • 10. INNOVATIVE EXAMINATION  This examination included in the Syllabus for 20 Marks  Purpose is to evaluate student w.r.t understanding the Subject concepts and its use to designs small applications.  In Innovative Practice Students in a group or individually can identify and implement given/self identified problem definition.  During the Semester Submission Small Report and Presentation of IE needs to be Submitted and presented the same during Oral Examination
  • 11. RESEARCH OPPORTUNITIES 1. Search engine for data structures 2. Phone directory application using doubly-linked lists 3. Spatial indexing with quadtrees 4. Graph-based projects on data structures 5. Stack-based text editor
  • 12. MODULE -1 COMPLEXITY ANALYSIS • Time & Space Complexity of Algorithms • Importance of Efficient Algorithms • Calculating time complexity of operations on data structures (insert, delete, search, display) • Total= 4 hrs
  • 13. Time & Space Complexity  Time complexity of an algorithm signifies the total time required by the program to run till its completion.  The time complexity of algorithms is most commonly expressed using the big O notation. It's an asymptotic notation to represent the time complexity.  Time Complexity is most commonly estimated by counting the number of elementary steps performed by any algorithm to finish execution. Like in the example above, for the first code the loop will run n number of times, so the time complexity will be n atleast and as the value of n will increase the time taken will also increase.  While for the second code, time complexity is constant, because it will never be dependent on the value of n, it will always give the result in 1 step.
  • 14. Algorithm Analysis The algorithm can be analyzed in two levels, i.e., first is before creating the algorithm, and second is after creating the algorithm. The following are the two analysis of an algorithm: Priori Analysis: Here, priori analysis is the theoretical analysis of an algorithm which is done before implementing the algorithm. Various factors can be considered before implementing the algorithm like processor speed, which has no effect on the implementation part. Posterior Analysis: Here, posterior analysis is a practical analysis of an algorithm. The practical analysis is achieved by implementing the algorithm using any programming language. This analysis basically evaluate that how much running time and space taken by the algorithm.
  • 15. Performance Analysis of an algorithm Performance analysis of an algorithm is the process of calculating space and time required by that algorithm. Performance analysis of an algorithm is performed by using the following measures... 1. Space required to complete the task of that algorithm (Space Complexity). It includes program space and data space. 2. Time required to complete the task of that algorithm (Time Complexity) What is Time complexity? The time complexity of an algorithm is the total amount of time required by an algorithm to complete its execution. The running time of an algorithm depends upon the following... 1. Whether it is running on Single processor machine or Multi processor machine. 2. Whether it is a 32 bit machine or 64 bit machine. 3. Read and Write speed of the machine. 4. The amount of time required by an algorithm to perform Arithmetic operations, logical operations, return value and assignment operations etc., 5. Input data
  • 16. Example Consider the following piece of code.. int sum(int A[], int n) { int sum = 0, i; for(i = 0; i < n; i++) sum = sum + A[i]; return sum; } For the above code, time complexity can be calculated as follows
  • 17. Types of Algorithms 1. Search Algorithm  Linear Search  Binary Search 2. Sort Algorithm  Bubble Sort  Selection Sort  Insertion Sort  Merge Sort  Quick Sort  Heap Sort
  • 18. Linear Search It is one of the most simple and straightforward search algorithms. In this, you need to traverse the entire list and keep comparing the current element with the target element. If a match is found, you can stop the search else continue. Complexity Analysis Time Complexity •Best case - O(1) The best occurs when the target element is found at the beginning of the list/array. Since only one comparison is made, the time complexity is O(1). Example - Array A[] = {3,4,0,9,8} Target element = 3 Here, the target is found at A[0].
  • 19. •Worst-case - O(n), where n is the size of the list/array. The worst-case occurs when the target element is found at the end of the list or is not present in the list/array. Since you need to traverse the entire list, the time complexity is O(n), as n comparisons are needed. •Average case - O(n) The average case complexity of the linear search is also O(n). Space Complexity The space complexity of the linear search is O(1), as we don't need any auxiliary space for the algorithm.
  • 20. Binary Search It is a divide and conquers algorithm in which we compare the target element with the middle element of the list. If they are equal, then it implies that the target is found at the middle position; else, we reduce the search space by half, i.e. apply binary search on either of the left and right halves of the list depending upon whether target<middle element or target>middle element. We continue this until a match is found or the size of the array reaches 1. Time Complexity •Best case - O(1) The best-case occurs when the target element is found in the middle of the original list/array. Since only one comparison is needed, the time complexity is O(1). •Worst-case - O(logn) The worst occurs when the algorithm keeps on searching for the target element until the size of the array reduces to 1. Since the number of comparisons required is logn, the time complexity is O(logn).
  • 21. Binary Search •Average case - O(logn) Binary search has an average-case complexity of O(long). Space Complexity Since no extra space is needed, the space complexity of the binary search is O(1).