0% found this document useful (0 votes)
19 views

Data - Structure Lecture - 2

This document discusses algorithm analysis and the Big O notation. It provides examples of analyzing the number of operations in algorithms and explains that Big O notation focuses on the dominant term as input size increases. Specifically, it analyzes algorithms and determines they are O(n) or O(mn) depending on whether nested loops are present. It also briefly discusses classes, constructors, variables, and destructors in programming.

Uploaded by

Abdalla Nasr
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views

Data - Structure Lecture - 2

This document discusses algorithm analysis and the Big O notation. It provides examples of analyzing the number of operations in algorithms and explains that Big O notation focuses on the dominant term as input size increases. Specifically, it analyzes algorithms and determines they are O(n) or O(mn) depending on whether nested loops are present. It also briefly discusses classes, constructors, variables, and destructors in programming.

Uploaded by

Abdalla Nasr
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Data Structure

and Algorithms
Lecture 2
• after an algorithm is designed it
should also be analyzed.
Algorithm • we usually count the number of
operations performed by the
Analysis: algorithm.
The Big-O • not on the actual computer time to
Notation execute the algorithm. This is
because a particular algorithm can
be implemented on a variety of
computers and the speed of the
computer can affect the execution
time.
Example 1

• Line 1 has one operation-Line 2 has two operations- Line 3 has one
operation-Line4 has one operation-Line 6 has one operation-and Line 7 has
three operations. Either Line 4 or Line 6 executes. Therefore, the total
number of operations executed in the preceding code is1+2+1+1+3= 8.
Example 2

This algorithm has five operations (Lines 1 through 4) before the while loop.
there are nine or eight operations after the while loop ,
If the while loop executes 10 times, the total number of operations executed is:
(10*5 + 1)+ 5+9 or (10*5 + 1)+ 5+8
At n times, 5n+15 or 5n+14
• Suppose that an algorithm performs f(n) basic operations to accomplish a task
• the computer time it would take to execute f(n) operations is cf(n).
• c depends on the speed of the computer

the term n2 becomes the dominant term


the term 4n +20 in f(n) becomes insignificant
n becomes larger and larger the term 4n +20 in f(n) becomes insignificant, and the term n2
becomes the dominant term.
called Big-O of n2
this algorithm is O(mn). Note that if m
¼
this algorithm is O(mn). Note that if m =n, then this algorithm is O(n2 )
2
n, then this algorithm is O(n
)
Classes
Constructor
Variable
(Object)
Declaration
• a class can have only one
destructor, and the destructor
has no parameters.
• The name of a destructor is the
tilde character (~) followed by
Destructors the name of the class.
• For example, the name of the
destructor for the class
clockType is:
~clockType();
Assignments
• Question 6
• Question 7
• Question 13
• Question 2 page 57
Lecture 2
finished

You might also like