You are on page 1of 19

ADVANCED

ANALYSIS OF Lecture # 1

ALGORITHMS
COURSE
INFORMATION
• Course Title
– Advanced Analysis of Algorithms
– Credit Hours 03
• Grading Policy
– Mid Term Examination = 20 Marks
– Final Term Examination = 40 Marks
– Quizzes (4)= 20 Marks
– Assignment (4)= 20 Marks
COURSE
INFORMATION
• Reference Books
– Approximation Algorithms by Vijay V. Vazirni, Springer, 2004.
– Introduction to Algorithms by Thomas H. Cormen, Charles E. Leiserson,
Ronald L. Rivest, Clifford Stein, 2nd edition, published by MIT Press,
2001
– Algorithms and Theory of Computation Handbook, by Mikhail J. Atallah
Contributor Mikhail J. Atallah, CRC Press, 1998.
• Other Books
– Introduction to Design & Analysis Computer Algorithm 3rd, Sara Baase,
Allen Van Geleder, Adisor-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.
COURSE
INFORMATION
• Supporting Material
– Lecture Slides & Notes
– Research Articles
• Class Assessment Tools
– Assignments
– Presentations
– Research Articles Reading
– Research Paper Writing
COURSE
INFORMATION
• Course Objective
- Design and Analysis of Modern Algorithms
- Different variants
- Efficiency
- Accuracy
- Comparing Efficiencies
- Motivation Thinking New Algorithms
- Advanced Designing Techniques
- Real World Research Problems will be taken as example.

Major focus of the subject is to Study Algorithms in Research


Perspective.
COURSE
INFORMATION
• Expected Results

On successful completion of this courses, students will be able to


- Understand, analyze algorithms
- Argue and prove correctness of algorithms
- Analyze Time and Space Complexity of Algorithms
- Understand algorithm design approaches
- Use of graph theory in Problem Solving
- Understand advance analysis and design topics.
- Easily analyze existing algorithms and able to propose more efficient
and effective algorithm for any real life research problem / situation.
ALGORITHM INFORMAL
DEFINATION

The word algorithm comes from the name of a Persian mathematician Abu Ja’far
Mohammed ibn-i Musa al Khowarizmi.
WHAT IS AN
ALGORITHM?
An algorithm is “a finite set of precise instructions for performing a
computation or for solving a problem”
 A program is one type of algorithm
 All programs are algorithms
 Not all algorithms are programs!
 Directions to somebody’s house is an algorithm
 A recipe for cooking a cake is an algorithm
 The steps to compute the cosine of 90° is an algorithm
FINDING A LARGEST INTEGER
AMONG FIVE INTEGERS
DEFINING ACTIONS
REFINED ACTIONS
GENERALIZATION
THREE CONSTRUCTS
FLOW CHARTS FOR THREE
CONSTRUCTS
PSEUDOCODE FOR THREE
CONSTRUCTS
WHAT IS ALGORITHM
– A Computer algorithm is a detailed step-by-step method for solving a
problem by using a computer.
– An algorithm is a sequence of unambiguous instructions for solving a
problem in a finite amount of time.
– An algorithm is well defined computational procedure that takes some
value, or set of values, as input and produces some values, or set of
values as output.
– More generally, an algorithm is any well defined computational
procedure that takes collection of elements as input and produces a
collection of elements as output.
WHAT IS ALGORITHM
– a clearly specified set of simple instructions to be followed to solve a
problem
• Takes a set of values, as input and
• produces a value, or set of values, as output
– May be specified
• In English
• As a computer program
• As a pseudo-code
• Data structures
– Methods of organizing data
• Program = algorithms + data structures
WHY NEED TO STUDY
ALGORITHMS

– Analysis
• Efficiency Time Complexity
• Effectiveness Space Complexity

– Modeling
• Data Structures (Arrays, Strings, Stacks, Queues, Link Lists, Trees, Heaps etc.),
Decomposing problems, graphs.

– Techniques
• Brute Force, Divide & Conquer, Decrease and Conquer, Transform and Conquer,
Space Time Tradeoffs, Greedy Approach, Dynamic Programming

You might also like