1. Introduction to Algorithms, Specification of Algorithm, Complexity
1. Introduction to Algorithms, Specification of Algorithm, Complexity
1
Assessment criteria’s
9/4/2024 2
Course Information
• Course Handout
• Communicate through eMail
• Office hours
• To be communicated
• Grading policy
• Will be communicated as per university guidelines
• Textbook
•Introduction to Algorithms 3rd, Cormen,
Leiserson, Rivest and Stein, The MIT Press,
• Fundamentals of Computer Algorithms, 2nd,
Sartaj Sahni, Ellis Horowitz, Sanguthevar
Rajasekaran
• Others
• Introduction to Design & Analysis Computer Algorithm 3rd,
Sara Baase, Allen Van Gelder, Adison-Wesley, 2000.
• Algorithms, Richard Johnsonbaugh, Marcus Schaefer, Prentice
Hall, 2004.
• Introduction to The Design and Analysis of Algorithms 2nd
Edition, Anany Levitin, Adison-Wesley, 2007.
[CS3102.2] Contrast and design algorithms using the divide-and-conquer and graph-searching
algorithms to solve business problems, hence enhancing analytical skills. (Bloom’s Level: 4 Analyze)
[CS3102.3] Apply the concept of greedy and dynamic programming approaches to solving real-life
problems to enhance entrepreneurship capabilities. (Bloom’s Level: 3 Apply)
[CS3102.4] Utilize the principles of backtracking and branch and bound algorithms to showcase their
functioning and problem-solving capabilities. (Bloom’s Level: 3 Apply)
[CS3102.5] Evaluate various advanced algorithm concepts such as string matching, approximation
algorithms, and complexity classes to enhance employability. (Bloom’s Level: 5 Evaluate)
Algorithm Swap(a, b)
{
temp = a;
a = b;
b = temp;
}
p=0;
for(i=1; p<=n; i++)
{
p=p+i;
}
Example
statement;
}
Observations
1. for(i=0; i<n; i++) O(n)
0 1 1 2
1 2 4 4
2 4 16 16
3 8 64 256
Compare Class of Functions