SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Algorithms

1
Informally Definition
An algorithm is any well-defined
computational procedure that
takes some values or set of
values as input and produces
some values or set of values as
output
Formal Definition
As a sequence of computational
steps that transforms the input
into output
Algorithms
Properties of algorithms:
•
•
•
•
•
•
•

Input from a specified set,
Output from a specified set (solution),
Definiteness of every step in the computation,
Correctness of output for every possible input,
Finiteness of the number of calculation steps,
Effectiveness of each calculation step and
Generality for a class of problems.
4
?
Suppose computers were infinitely fast and
computer memory are free
Is there any reason to study algorithm ?

Yes
– Demonstrate that solution methods
terminates and does so with correct
answer.
If computers were infinitely fast,
any correct method for solving a
problem would do.

You would probably want your
implementation to be within the
bounds
of
good
software
engineering practice
In reality
Computers may be fast, but they
are not infinitely fast and
Memory may be cheap but it is not
free
Computing time is therefore a
bounded resource and so is the
space in memory
Complexity
In general, we are not so much interested
in the time and space complexity for small
inputs.
For example, while the difference in time
complexity between linear and binary
search is meaningless for a sequence with n
= 10, it is gigantic for n = 230.

8
Complexity
For example, let us assume two algorithms A and
B that solve the same class of problems.
The time complexity of A is 5,000n, the one for
B is 1.1n for an input with n elements.
For n = 10, A requires 50,000 steps, but B only
3, so B seems to be superior to A.
For n = 1000, however, A requires 5,000,000
steps, while B requires 2.51041 steps.

9
Complexity
Comparison: time complexity of algorithms A and B
Input Size

Algorithm A

Algorithm B

n

5,000n

10

50,000

1.1n
3

100

500,000

13,781

1,000

5,000,000

2.51041

1,000,000

5109

4.81041392
10
Complexity
This means that algorithm B cannot be used for
large inputs, while algorithm A is still feasible.
So what is important is the growth of the
complexity functions.

The growth of time and space complexity with
increasing input size n is a suitable measure for
the comparison of algorithms.

11
Growth Function
The order of growth / rate of growth
of the running time of an algorithm
gives a simple characterization of the
algorithm efficiency and allow us to
compare the relative performance of
alternative algorithm

12
Asymptotic Efficiency
Algorithm
When the input size is large enough so
that the rate of growth / order of
growth of the running time is relevant

That is we are concerned with how the
running time of an algorithm
increases with the size of the input in
the limit, as the size of the input
increases without bound
13
Asymptotic Efficiency
Algorithm
Usually, an
algorithm that is
asymptotically more efficient will
be the best choice for all but
very small inputs.

14
Asymptotic Notation
The notations we use to describe
the asymptotic running time of an
algorithm are defined in terms of
functions whose domains are the
set of natural numbers N = {0, 1,
2,…. }
15
Asymptotic Notation
Asymptotic
notations
are
convenient for describing the
worst-case running time function
T(n), which is defined only on
integer input size.

16
Asymptotic Notation

Let n be a non-negative integer
representing the size of the
input to an algorithm

17
Asymptotic Notation
Let f(n) and g(n) be two positive
functions,
representing
the
number of basic calculations
(operations, instructions) that an
algorithm takes (or the number
of memory words an algorithm
needs).
18
Asymptotic Notation
Q - Big Theta
O – Big O
W - Big Omega
o – Small o
w - Small Omega
19
Q - Notation
For a given function g(n), we denote
by Q(g(n)) the set of functions

Q(g(n)) = {f(n) : there exist positive
constants c1 , c2 , and n0 such
that 0  c1 g(n)  f(n)  c2 g(n)
for all n  n0
f(n)  Q(g(n))
f(n) = Q(g(n))
20
Q - Notation
g(n) is an
asymptotically tight
bound for f(n).

f(n) and g(n) are

nonnegative, for large
n.

21
Example
Q(g(n)) = {f(n) :  positive constants c1, c2,
and n0, such that n  n0,
0  c1g(n)
 f(n)  c2g(n) }

1/2n2 - 3n = Q(n2)
Determine the positive constant n0,
c1, and c2 such that
c1 n2  1/2n2 - 3n  c2 n2 n  n0
22
Example Contd ...
c1  1/2 – 3/n  c2 (Divide by n2)
c1 = 1/14 , c2 = ½ , n0 = 7
1/2n2 - 3n = Q(n2)
23
O-Notation
For a given function g(n)
O(g(n)) = {f(n) : there exist
positive constants c and n0 such
that 0  f(n)  c g(n) for all n 
n0 }
Intuitively: Set of all functions whose rate of
growth is the same as or lower than that of
c. g(n)
24
O-Notation

g(n) is an asymptotic upper bound for f(n).

f(n) = Q(g(n))  f(n) = O(g(n)).
Q(g(n))  O(g(n)).

25
Example
O(g(n)) = {f(n) : there exist positive
constants c and n0 such that 0  f(n) 
c g(n) for all n  n0 }

Any linear function an + b is in
O(n2). How?
C = a + |b| and n0 = 1
26
Big-O Notation
(Examples)
f(n) = 5n+2 = O(n)

// g(n) = n

–

f(n)  6n, for n  3 (C=6, n0=3)

–

f(n)  0.5 n for n  0 (C=0.5, n0=0)

–

n2-n  n2 for n  0 (C=1, n0=0)

–

n(n+1)/2  n2 for n  0 (C=1, n0=0)

f(n)=n/2 –3 = O(n)

n2-n = O(n2) // g(n) = n2
n(n+1)/2 = O(n2)

27
W - Notation
For a given function g(n)
W(g(n)) = {f(n) : there exist
positive constants c and n0 such
that 0  c g(n)  f(n) for all
n  n0}
Intuitively: Set of all functions whose
rate of growth is the same as or higher
than that of g(n).
28
W - Notation

g(n) is an asymptotic lower bound for f(n).

f(n) = Q(g(n))  f(n) = W(g(n)).
Q(g(n))  W(g(n)).

29
Relations Between Q, O, W

30
Relations Between Q, O, W
For any two function f(n) and g(n),
we have f(n) = Q(g(n)) if and only
if f(n) = O(g(n)) and f(n) =
W(g(n))
That is

Q(g(n)) = O(g(n))  W(g(n))
31
The Growth of Functions
“Popular” functions g(n) are
n log n, 1, 2n, n2, n!, n, n3, log n

Listed from slowest to fastest growth:
• 1
• log n
• n
• n log n
• n2
• n3
• 2n
• n!
32
Comparing Growth Rates
2n

n2

n log2 n
n

T(n)

log2 n

Problem Size
Example: Find sum of array elements
Algorithm arraySum (A, n)
Input array A of n integers
Output Sum of elements of A
sum  0
for i  0 to n  1 do
sum  sum + A [i]
return sum

# operations
1
n+1
n
1

Input size: n (number of array elements)
Total number of steps: 2n + 3
Example: Find max element of an
array
Algorithm arrayMax(A, n)
Input array A of n integers
Output maximum element of A
currentMax  A[0]
for i  1 to n  1 do
if A [i]  currentMax then
currentMax  A [i]
return currentMax



# operations
1
n
n -1
n -1
1

Input size: n (number of array elements)
 Total number of steps: 3n

Weitere ähnliche Inhalte

Was ist angesagt?

Data Structures - Lecture 1 [introduction]
Data Structures - Lecture 1 [introduction]Data Structures - Lecture 1 [introduction]
Data Structures - Lecture 1 [introduction]Muhammad Hammad Waseem
 
Data Structures- Part5 recursion
Data Structures- Part5 recursionData Structures- Part5 recursion
Data Structures- Part5 recursionAbdullah Al-hazmy
 
Time and space complexity
Time and space complexityTime and space complexity
Time and space complexityAnkit Katiyar
 
Analysis of algorithms
Analysis of algorithmsAnalysis of algorithms
Analysis of algorithmsGanesh Solanke
 
Data Structures and Algorithm Analysis
Data Structures  and  Algorithm AnalysisData Structures  and  Algorithm Analysis
Data Structures and Algorithm AnalysisMary Margarat
 
Chapter 09 design and analysis of algorithms
Chapter 09  design and analysis of algorithmsChapter 09  design and analysis of algorithms
Chapter 09 design and analysis of algorithmsPraveen M Jigajinni
 
Algorithm And analysis Lecture 03& 04-time complexity.
 Algorithm And analysis Lecture 03& 04-time complexity. Algorithm And analysis Lecture 03& 04-time complexity.
Algorithm And analysis Lecture 03& 04-time complexity.Tariq Khan
 
Fundamentals of the Analysis of Algorithm Efficiency
Fundamentals of the Analysis of Algorithm EfficiencyFundamentals of the Analysis of Algorithm Efficiency
Fundamentals of the Analysis of Algorithm EfficiencySaranya Natarajan
 
Design & Analysis of Algorithms Lecture Notes
Design & Analysis of Algorithms Lecture NotesDesign & Analysis of Algorithms Lecture Notes
Design & Analysis of Algorithms Lecture NotesFellowBuddy.com
 
3.9 external sorting
3.9 external sorting3.9 external sorting
3.9 external sortingKrish_ver2
 
Analysis and Design of Algorithms
Analysis and Design of AlgorithmsAnalysis and Design of Algorithms
Analysis and Design of AlgorithmsBulbul Agrawal
 
Design and Analysis of Algorithms.pptx
Design and Analysis of Algorithms.pptxDesign and Analysis of Algorithms.pptx
Design and Analysis of Algorithms.pptxSyed Zaid Irshad
 
sparse matrix in data structure
sparse matrix in data structuresparse matrix in data structure
sparse matrix in data structureMAHALAKSHMI P
 

Was ist angesagt? (20)

Data Structures - Lecture 1 [introduction]
Data Structures - Lecture 1 [introduction]Data Structures - Lecture 1 [introduction]
Data Structures - Lecture 1 [introduction]
 
Complexity analysis in Algorithms
Complexity analysis in AlgorithmsComplexity analysis in Algorithms
Complexity analysis in Algorithms
 
Data Structures- Part5 recursion
Data Structures- Part5 recursionData Structures- Part5 recursion
Data Structures- Part5 recursion
 
Time and space complexity
Time and space complexityTime and space complexity
Time and space complexity
 
Big o notation
Big o notationBig o notation
Big o notation
 
Analysis of algorithms
Analysis of algorithmsAnalysis of algorithms
Analysis of algorithms
 
Data Structures and Algorithm Analysis
Data Structures  and  Algorithm AnalysisData Structures  and  Algorithm Analysis
Data Structures and Algorithm Analysis
 
Chapter 09 design and analysis of algorithms
Chapter 09  design and analysis of algorithmsChapter 09  design and analysis of algorithms
Chapter 09 design and analysis of algorithms
 
Algorithm And analysis Lecture 03& 04-time complexity.
 Algorithm And analysis Lecture 03& 04-time complexity. Algorithm And analysis Lecture 03& 04-time complexity.
Algorithm And analysis Lecture 03& 04-time complexity.
 
Fundamentals of the Analysis of Algorithm Efficiency
Fundamentals of the Analysis of Algorithm EfficiencyFundamentals of the Analysis of Algorithm Efficiency
Fundamentals of the Analysis of Algorithm Efficiency
 
Time complexity.ppt
Time complexity.pptTime complexity.ppt
Time complexity.ppt
 
Design & Analysis of Algorithms Lecture Notes
Design & Analysis of Algorithms Lecture NotesDesign & Analysis of Algorithms Lecture Notes
Design & Analysis of Algorithms Lecture Notes
 
3.9 external sorting
3.9 external sorting3.9 external sorting
3.9 external sorting
 
Big O Notation
Big O NotationBig O Notation
Big O Notation
 
Recursion
RecursionRecursion
Recursion
 
Analysis and Design of Algorithms
Analysis and Design of AlgorithmsAnalysis and Design of Algorithms
Analysis and Design of Algorithms
 
Design and Analysis of Algorithms.pptx
Design and Analysis of Algorithms.pptxDesign and Analysis of Algorithms.pptx
Design and Analysis of Algorithms.pptx
 
Asymptotic Notation
Asymptotic NotationAsymptotic Notation
Asymptotic Notation
 
Time and Space Complexity
Time and Space ComplexityTime and Space Complexity
Time and Space Complexity
 
sparse matrix in data structure
sparse matrix in data structuresparse matrix in data structure
sparse matrix in data structure
 

Andere mochten auch

Lecture 3 data structures and algorithms
Lecture 3 data structures and algorithmsLecture 3 data structures and algorithms
Lecture 3 data structures and algorithmsAakash deep Singhal
 
Lecture 4 data structures and algorithms
Lecture 4 data structures and algorithmsLecture 4 data structures and algorithms
Lecture 4 data structures and algorithmsAakash deep Singhal
 
Lecture 1 data structures and algorithms
Lecture 1 data structures and algorithmsLecture 1 data structures and algorithms
Lecture 1 data structures and algorithmsAakash deep Singhal
 
DATA STRUCTURES
DATA STRUCTURESDATA STRUCTURES
DATA STRUCTURESbca2010
 
Lecture 6 data structures and algorithms
Lecture 6 data structures and algorithmsLecture 6 data structures and algorithms
Lecture 6 data structures and algorithmsAakash deep Singhal
 
Lecture 16 data structures and algorithms
Lecture 16 data structures and algorithmsLecture 16 data structures and algorithms
Lecture 16 data structures and algorithmsAakash deep Singhal
 
Lecture 15 data structures and algorithms
Lecture 15 data structures and algorithmsLecture 15 data structures and algorithms
Lecture 15 data structures and algorithmsAakash deep Singhal
 
Lecture 5 data structures and algorithms
Lecture 5 data structures and algorithmsLecture 5 data structures and algorithms
Lecture 5 data structures and algorithmsAakash deep Singhal
 
Lecture 9 data structures and algorithms
Lecture 9 data structures and algorithmsLecture 9 data structures and algorithms
Lecture 9 data structures and algorithmsAakash deep Singhal
 
Lecture 13 data structures and algorithms
Lecture 13 data structures and algorithmsLecture 13 data structures and algorithms
Lecture 13 data structures and algorithmsAakash deep Singhal
 
Data Structure Lecture 6
Data Structure Lecture 6Data Structure Lecture 6
Data Structure Lecture 6Teksify
 
Doublylinklist
DoublylinklistDoublylinklist
Doublylinklistritu1806
 
Lecture 14 data structures and algorithms
Lecture 14 data structures and algorithmsLecture 14 data structures and algorithms
Lecture 14 data structures and algorithmsAakash deep Singhal
 
Lecture 2 role of algorithms in computing
Lecture 2   role of algorithms in computingLecture 2   role of algorithms in computing
Lecture 2 role of algorithms in computingjayavignesh86
 
Double linked list
Double linked listDouble linked list
Double linked listSayantan Sur
 

Andere mochten auch (20)

Lecture 3 data structures and algorithms
Lecture 3 data structures and algorithmsLecture 3 data structures and algorithms
Lecture 3 data structures and algorithms
 
Lecture 4 data structures and algorithms
Lecture 4 data structures and algorithmsLecture 4 data structures and algorithms
Lecture 4 data structures and algorithms
 
Lecture 1 data structures and algorithms
Lecture 1 data structures and algorithmsLecture 1 data structures and algorithms
Lecture 1 data structures and algorithms
 
DATA STRUCTURES
DATA STRUCTURESDATA STRUCTURES
DATA STRUCTURES
 
Lecture 6 data structures and algorithms
Lecture 6 data structures and algorithmsLecture 6 data structures and algorithms
Lecture 6 data structures and algorithms
 
12111 data structure
12111 data structure12111 data structure
12111 data structure
 
Lecture 16 data structures and algorithms
Lecture 16 data structures and algorithmsLecture 16 data structures and algorithms
Lecture 16 data structures and algorithms
 
Lecture 15 data structures and algorithms
Lecture 15 data structures and algorithmsLecture 15 data structures and algorithms
Lecture 15 data structures and algorithms
 
Lecture 5 data structures and algorithms
Lecture 5 data structures and algorithmsLecture 5 data structures and algorithms
Lecture 5 data structures and algorithms
 
Lecture 9 data structures and algorithms
Lecture 9 data structures and algorithmsLecture 9 data structures and algorithms
Lecture 9 data structures and algorithms
 
Lecture 13 data structures and algorithms
Lecture 13 data structures and algorithmsLecture 13 data structures and algorithms
Lecture 13 data structures and algorithms
 
#1 designandanalysis of algo
#1 designandanalysis of algo#1 designandanalysis of algo
#1 designandanalysis of algo
 
Data Structure Lecture 6
Data Structure Lecture 6Data Structure Lecture 6
Data Structure Lecture 6
 
Doublylinklist
DoublylinklistDoublylinklist
Doublylinklist
 
Slide1
Slide1Slide1
Slide1
 
Lecture 14 data structures and algorithms
Lecture 14 data structures and algorithmsLecture 14 data structures and algorithms
Lecture 14 data structures and algorithms
 
Subsidence in coal mines
Subsidence in coal minesSubsidence in coal mines
Subsidence in coal mines
 
Data structures1
Data structures1Data structures1
Data structures1
 
Lecture 2 role of algorithms in computing
Lecture 2   role of algorithms in computingLecture 2   role of algorithms in computing
Lecture 2 role of algorithms in computing
 
Double linked list
Double linked listDouble linked list
Double linked list
 

Ähnlich wie Lecture 2 data structures and algorithms

Algorithms required for data structures(basics like Arrays, Stacks ,Linked Li...
Algorithms required for data structures(basics like Arrays, Stacks ,Linked Li...Algorithms required for data structures(basics like Arrays, Stacks ,Linked Li...
Algorithms required for data structures(basics like Arrays, Stacks ,Linked Li...DebiPrasadSen
 
Anlysis and design of algorithms part 1
Anlysis and design of algorithms part 1Anlysis and design of algorithms part 1
Anlysis and design of algorithms part 1Deepak John
 
Asymptotic notation ada
Asymptotic notation adaAsymptotic notation ada
Asymptotic notation adaravinlaheri2
 
Lec03 04-time complexity
Lec03 04-time complexityLec03 04-time complexity
Lec03 04-time complexityAbbas Ali
 
Cs6402 daa-2 marks set 1
Cs6402 daa-2 marks set 1Cs6402 daa-2 marks set 1
Cs6402 daa-2 marks set 1Vai Jayanthi
 
Algorithm Analysis
Algorithm AnalysisAlgorithm Analysis
Algorithm AnalysisMegha V
 
Asymptotic Notation and Complexity
Asymptotic Notation and ComplexityAsymptotic Notation and Complexity
Asymptotic Notation and ComplexityRajandeep Gill
 
Asymptotic notation
Asymptotic notationAsymptotic notation
Asymptotic notationsajinis3
 
Asymptotic Notations.pptx
Asymptotic Notations.pptxAsymptotic Notations.pptx
Asymptotic Notations.pptxSunilWork1
 
Asymptotics 140510003721-phpapp02
Asymptotics 140510003721-phpapp02Asymptotics 140510003721-phpapp02
Asymptotics 140510003721-phpapp02mansab MIRZA
 
Design and analysis of algorithm ppt ppt
Design and analysis of algorithm ppt pptDesign and analysis of algorithm ppt ppt
Design and analysis of algorithm ppt pptsrushtiivp
 
lecture 1
lecture 1lecture 1
lecture 1sajinsc
 
Algorithm chapter 2
Algorithm chapter 2Algorithm chapter 2
Algorithm chapter 2chidabdu
 
Algorithm analysis basics - Seven Functions/Big-Oh/Omega/Theta
Algorithm analysis basics - Seven Functions/Big-Oh/Omega/ThetaAlgorithm analysis basics - Seven Functions/Big-Oh/Omega/Theta
Algorithm analysis basics - Seven Functions/Big-Oh/Omega/ThetaPriyanka Rana
 
Lecture 3(a) Asymptotic-analysis.pdf
Lecture 3(a) Asymptotic-analysis.pdfLecture 3(a) Asymptotic-analysis.pdf
Lecture 3(a) Asymptotic-analysis.pdfShaistaRiaz4
 

Ähnlich wie Lecture 2 data structures and algorithms (20)

1.algorithms
1.algorithms1.algorithms
1.algorithms
 
Algorithms required for data structures(basics like Arrays, Stacks ,Linked Li...
Algorithms required for data structures(basics like Arrays, Stacks ,Linked Li...Algorithms required for data structures(basics like Arrays, Stacks ,Linked Li...
Algorithms required for data structures(basics like Arrays, Stacks ,Linked Li...
 
Anlysis and design of algorithms part 1
Anlysis and design of algorithms part 1Anlysis and design of algorithms part 1
Anlysis and design of algorithms part 1
 
Asymptotic notation ada
Asymptotic notation adaAsymptotic notation ada
Asymptotic notation ada
 
Lec03 04-time complexity
Lec03 04-time complexityLec03 04-time complexity
Lec03 04-time complexity
 
Cs6402 daa-2 marks set 1
Cs6402 daa-2 marks set 1Cs6402 daa-2 marks set 1
Cs6402 daa-2 marks set 1
 
Algorithm Analysis
Algorithm AnalysisAlgorithm Analysis
Algorithm Analysis
 
Asymptotic Notation and Complexity
Asymptotic Notation and ComplexityAsymptotic Notation and Complexity
Asymptotic Notation and Complexity
 
Asymptotic notation
Asymptotic notationAsymptotic notation
Asymptotic notation
 
analysis.ppt
analysis.pptanalysis.ppt
analysis.ppt
 
Asymptotic notation
Asymptotic notationAsymptotic notation
Asymptotic notation
 
Asymptotic Notations.pptx
Asymptotic Notations.pptxAsymptotic Notations.pptx
Asymptotic Notations.pptx
 
Asymptotics 140510003721-phpapp02
Asymptotics 140510003721-phpapp02Asymptotics 140510003721-phpapp02
Asymptotics 140510003721-phpapp02
 
Design and analysis of algorithm ppt ppt
Design and analysis of algorithm ppt pptDesign and analysis of algorithm ppt ppt
Design and analysis of algorithm ppt ppt
 
lecture 1
lecture 1lecture 1
lecture 1
 
Algorithm chapter 2
Algorithm chapter 2Algorithm chapter 2
Algorithm chapter 2
 
Lec1
Lec1Lec1
Lec1
 
Algorithm analysis basics - Seven Functions/Big-Oh/Omega/Theta
Algorithm analysis basics - Seven Functions/Big-Oh/Omega/ThetaAlgorithm analysis basics - Seven Functions/Big-Oh/Omega/Theta
Algorithm analysis basics - Seven Functions/Big-Oh/Omega/Theta
 
DAA_LECT_2.pdf
DAA_LECT_2.pdfDAA_LECT_2.pdf
DAA_LECT_2.pdf
 
Lecture 3(a) Asymptotic-analysis.pdf
Lecture 3(a) Asymptotic-analysis.pdfLecture 3(a) Asymptotic-analysis.pdf
Lecture 3(a) Asymptotic-analysis.pdf
 

Kürzlich hochgeladen

Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 

Kürzlich hochgeladen (20)

Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 

Lecture 2 data structures and algorithms

  • 2. Informally Definition An algorithm is any well-defined computational procedure that takes some values or set of values as input and produces some values or set of values as output
  • 3. Formal Definition As a sequence of computational steps that transforms the input into output
  • 4. Algorithms Properties of algorithms: • • • • • • • Input from a specified set, Output from a specified set (solution), Definiteness of every step in the computation, Correctness of output for every possible input, Finiteness of the number of calculation steps, Effectiveness of each calculation step and Generality for a class of problems. 4
  • 5. ? Suppose computers were infinitely fast and computer memory are free Is there any reason to study algorithm ? Yes – Demonstrate that solution methods terminates and does so with correct answer.
  • 6. If computers were infinitely fast, any correct method for solving a problem would do. You would probably want your implementation to be within the bounds of good software engineering practice
  • 7. In reality Computers may be fast, but they are not infinitely fast and Memory may be cheap but it is not free Computing time is therefore a bounded resource and so is the space in memory
  • 8. Complexity In general, we are not so much interested in the time and space complexity for small inputs. For example, while the difference in time complexity between linear and binary search is meaningless for a sequence with n = 10, it is gigantic for n = 230. 8
  • 9. Complexity For example, let us assume two algorithms A and B that solve the same class of problems. The time complexity of A is 5,000n, the one for B is 1.1n for an input with n elements. For n = 10, A requires 50,000 steps, but B only 3, so B seems to be superior to A. For n = 1000, however, A requires 5,000,000 steps, while B requires 2.51041 steps. 9
  • 10. Complexity Comparison: time complexity of algorithms A and B Input Size Algorithm A Algorithm B n 5,000n 10 50,000 1.1n 3 100 500,000 13,781 1,000 5,000,000 2.51041 1,000,000 5109 4.81041392 10
  • 11. Complexity This means that algorithm B cannot be used for large inputs, while algorithm A is still feasible. So what is important is the growth of the complexity functions. The growth of time and space complexity with increasing input size n is a suitable measure for the comparison of algorithms. 11
  • 12. Growth Function The order of growth / rate of growth of the running time of an algorithm gives a simple characterization of the algorithm efficiency and allow us to compare the relative performance of alternative algorithm 12
  • 13. Asymptotic Efficiency Algorithm When the input size is large enough so that the rate of growth / order of growth of the running time is relevant That is we are concerned with how the running time of an algorithm increases with the size of the input in the limit, as the size of the input increases without bound 13
  • 14. Asymptotic Efficiency Algorithm Usually, an algorithm that is asymptotically more efficient will be the best choice for all but very small inputs. 14
  • 15. Asymptotic Notation The notations we use to describe the asymptotic running time of an algorithm are defined in terms of functions whose domains are the set of natural numbers N = {0, 1, 2,…. } 15
  • 16. Asymptotic Notation Asymptotic notations are convenient for describing the worst-case running time function T(n), which is defined only on integer input size. 16
  • 17. Asymptotic Notation Let n be a non-negative integer representing the size of the input to an algorithm 17
  • 18. Asymptotic Notation Let f(n) and g(n) be two positive functions, representing the number of basic calculations (operations, instructions) that an algorithm takes (or the number of memory words an algorithm needs). 18
  • 19. Asymptotic Notation Q - Big Theta O – Big O W - Big Omega o – Small o w - Small Omega 19
  • 20. Q - Notation For a given function g(n), we denote by Q(g(n)) the set of functions Q(g(n)) = {f(n) : there exist positive constants c1 , c2 , and n0 such that 0  c1 g(n)  f(n)  c2 g(n) for all n  n0 f(n)  Q(g(n)) f(n) = Q(g(n)) 20
  • 21. Q - Notation g(n) is an asymptotically tight bound for f(n). f(n) and g(n) are nonnegative, for large n. 21
  • 22. Example Q(g(n)) = {f(n) :  positive constants c1, c2, and n0, such that n  n0, 0  c1g(n)  f(n)  c2g(n) } 1/2n2 - 3n = Q(n2) Determine the positive constant n0, c1, and c2 such that c1 n2  1/2n2 - 3n  c2 n2 n  n0 22
  • 23. Example Contd ... c1  1/2 – 3/n  c2 (Divide by n2) c1 = 1/14 , c2 = ½ , n0 = 7 1/2n2 - 3n = Q(n2) 23
  • 24. O-Notation For a given function g(n) O(g(n)) = {f(n) : there exist positive constants c and n0 such that 0  f(n)  c g(n) for all n  n0 } Intuitively: Set of all functions whose rate of growth is the same as or lower than that of c. g(n) 24
  • 25. O-Notation g(n) is an asymptotic upper bound for f(n). f(n) = Q(g(n))  f(n) = O(g(n)). Q(g(n))  O(g(n)). 25
  • 26. Example O(g(n)) = {f(n) : there exist positive constants c and n0 such that 0  f(n)  c g(n) for all n  n0 } Any linear function an + b is in O(n2). How? C = a + |b| and n0 = 1 26
  • 27. Big-O Notation (Examples) f(n) = 5n+2 = O(n) // g(n) = n – f(n)  6n, for n  3 (C=6, n0=3) – f(n)  0.5 n for n  0 (C=0.5, n0=0) – n2-n  n2 for n  0 (C=1, n0=0) – n(n+1)/2  n2 for n  0 (C=1, n0=0) f(n)=n/2 –3 = O(n) n2-n = O(n2) // g(n) = n2 n(n+1)/2 = O(n2) 27
  • 28. W - Notation For a given function g(n) W(g(n)) = {f(n) : there exist positive constants c and n0 such that 0  c g(n)  f(n) for all n  n0} Intuitively: Set of all functions whose rate of growth is the same as or higher than that of g(n). 28
  • 29. W - Notation g(n) is an asymptotic lower bound for f(n). f(n) = Q(g(n))  f(n) = W(g(n)). Q(g(n))  W(g(n)). 29
  • 31. Relations Between Q, O, W For any two function f(n) and g(n), we have f(n) = Q(g(n)) if and only if f(n) = O(g(n)) and f(n) = W(g(n)) That is Q(g(n)) = O(g(n))  W(g(n)) 31
  • 32. The Growth of Functions “Popular” functions g(n) are n log n, 1, 2n, n2, n!, n, n3, log n Listed from slowest to fastest growth: • 1 • log n • n • n log n • n2 • n3 • 2n • n! 32
  • 33. Comparing Growth Rates 2n n2 n log2 n n T(n) log2 n Problem Size
  • 34. Example: Find sum of array elements Algorithm arraySum (A, n) Input array A of n integers Output Sum of elements of A sum  0 for i  0 to n  1 do sum  sum + A [i] return sum # operations 1 n+1 n 1 Input size: n (number of array elements) Total number of steps: 2n + 3
  • 35. Example: Find max element of an array Algorithm arrayMax(A, n) Input array A of n integers Output maximum element of A currentMax  A[0] for i  1 to n  1 do if A [i]  currentMax then currentMax  A [i] return currentMax  # operations 1 n n -1 n -1 1 Input size: n (number of array elements)  Total number of steps: 3n