Introduction to Algorithm Analysis and Design

Master the concepts in algorithm analysis and design comprehensively through hands-on coding. Designed for learners who wants to become a great programmer and strengthen their algorithm designing skills, an essential computer science concept.

E-Box Exclusive
Learn through our Scientifically Designed & Proven 5 Step Practice Oriented Learning Process
Introduction to Algorithm Analysis and Design
Includes
• 16 Hrs of lecture Videos
• 90 hands-on practice exercises
• 11 Assessment exercises
• 19 code analysis exercises
• 577 knowledge based questions
• Course Completion Certificate

To provide a solid foundation in algorithm analysis and design. Specifically, the learning outcomes of this course include basic knowledge of computational complexity, ability to analyze asymptotic runtime complexity of algorithms and ability to understand and design algorithms using Divide and Conquer Strategy, Greedy Strategy, Dynamic programming, Backtracking and Branch and Bound Design Strategy.

Course Objectives

Upon successful completion of the course, the learner will be able to

• Comprehend the given problem and predict the algorithmic strategy for solving them

• Analyse the complexity of the given algorithm with respect to time and space

• Find different methods to reduce the complexity of the algorithm by using optimised strategies

• Optimise the problem by dividing the dataset, solving the smaller dataset and combining the local solutions to form the global solution, using Divide and Conquer strategy

• Apply straight forward approach to solve the problem without thinking about the past and future, using Greedy Strategy

• Reduce the time complexity of the algorithm greatly just by including a temporary memory (either a variable or a 1D array or a 2D array), to store the intermediate optimal solution, using Dynamic Programming Strategy

• Reduce the time complexity of any optimisation problem that consumes non-polynomial time to some extent, using Backtracking and Branch and Bound strategies

• Solve same problem with different constraints with respect to time and space as mentioned in the problem statement

Course Content
##### Introduction to Algorithms

An algorithm is a well-defined procedure that allows a computer to solve a problem. Another way to describe an algorithm is a sequence of unambiguous instructions. The use of the term 'unambiguous' indicates that there is no room for subjective interpretation. In this module you will get an introduction about the different design strategies in programming.

• 3 Videos
• 7 Hrs
• 41 Problems
##### Algorithm Analysis – I

The complexity of the algorithm is analysed with respect to time and space. In this module, you will learn about analysing the complexity of a given problem with respect to time and space.

• 3 Videos
• 5 Hrs
• 39 Problems
##### Algorithm Analysis – II

This is the continuation of the previous module. In this module you will see some more examples on analysing the time and space complexity.

• 3 Videos
• 5 Hrs 15 Mins
• 34 Problems
##### Searching Algorithms

A search algorithm is any algorithm which solves the search problem, namely, to retrieve information stored within some data structure, or calculated in the search space of a problem domain. In this module, you will learn the working of the searching algorithms like, linear search and binary search. You will also analyse the complexities of the algorithm.

• 3 Videos
• 3 Hrs
• 43 Problems
##### Sorting Algorithms

A sorting algorithm is an algorithm that puts elements of a list in a certain order. The most frequently used orders are numerical order and lexicographical order. In this module, you will learn how the given data is sorted using the various sorting algorithms. You will also analyse the complexities of the algorithm.

• 6 Videos
• 6 Hrs
• 52 Problems
##### Design Strategies – Introduction

Following a strategy to solve a problem will make the problem simple as well as reduce the complexity of the solution. In this module, you will learn the introduction to the five different design strategies.

• 3 Videos
• 4 Hrs 15 Mins
• 41 Problems
##### Divide and Conquer Design Strategy

Divide and conquer is an algorithm design paradigm based on multi-branched recursion. A divide and conquer algorithm works by recursively breaking down a data-set into two or more sub-data-sets, until these become simple enough to be solved directly . In this module you will learn how to solve problems using this strategy.

• 3 Videos
• 5 Hrs 15 Mins
• 74 Problems
##### Divide and Conquer Design Strategy – II

This module the continuation of the previous module. In this module, you will learn and solve few more example problems about this strategy.

• 3 Videos
• 4 Hrs
• 57 Problems
##### Greedy Strategy – I

A greedy algorithm is an algorithmic paradigm that follows the problem solving heuristic of making the locally optimal choice at each stage with the intent of finding a global optimum. In many problems, a greedy strategy does not usually produce an optimal solution, but nonetheless a greedy heuristic may yield locally optimal solutions that approximate a globally optimal solution in a reasonable amount of time. In this module you will learn how to solve problems using this strategy.

• 3 Videos
• 4 Hrs 15 Mins
• 43 Problems
##### Greedy Strategy – II

This module the continuation of the previous module. In this module, you will learn and solve few more example problems about this strategy.

• 3 Videos
• 4 Hrs
• 40 Problems
##### Dynamic Programming – I

Dynamic programming refers to simplifying a complicated problem by breaking it down into simpler sub-problems in a recursive manner. In this module you will learn how to solve problems using this strategy.

• 3 Videos
• 4 Hrs 30 Mins
• 65 Problems
##### Dynamic Programming – II

This module the continuation of the previous module. In this module, you will learn and solve few more example problems about this strategy.

• 3 Videos
• 4 Hrs
• 56 Problems
##### Backtracking – I

Backtracking strategy is defined as a general algorithmic technique that considers searching every possible combination in order to solve an optimization problem. In this module you will learn how to solve problems using this strategy.

• 3 Videos
• 3 Hrs 30 Mins
• 25 Problems
##### Backtracking – II

This module the continuation of the previous module. In this module, you will learn and solve few more example problems about this strategy.

• 3 Videos
• 5 Hrs
• 49 Problems
##### Branch and Bound Strategy

Branch and bound is an algorithm paradigm that basically relies on a combinatorial approach and is hence used for combinatorial optimization problems. For example, the knapsack problem. In this module you will learn how to solve problems using this strategy.

• 3 Videos
• 2 Hrs
• 32 Problems
##### String based problems

In this module, you will learn about solving various string based problems that are used to try out different methods to reduce the complexity with respect to time and space.

• 2 Videos
• 2 Hrs
• 6 Problems
Still have any Queries ? Contact us Now
You will Learn through our Scientifically Designed & Proven 5 Step Practice Oriented Learning Process
iLearn
In this session, you will find video lectures and other resources to learn the concepts.
iDesign
In this session, you will start designing and creating your own programs.
iExplore
In this session, you will find interesting set of activities which will make you explore more on the specific topic.
iAssess
In this session, you will have activities to self assess your knowledge and skills on the specific topic.
iAnalyse
In this session, you will find varieties of exercises to improve your code analysis, testing and debugging skills.
Why should you choose E-Box for Learning & Skilling ?
Practice Oriented Learning

Learning through E-Box is completely Hands-on and practice based thereby helping you understand the intricacies of Live Project Scenarios

High Quality Content

E-Box’s programs and Courses are designed by Professionals in the Industry & Academicians, assuring a quality learning experience

24 x 7 Support

With 100’s Mentors online ready to get your Doubts clarified and to Hand Hold you, you will always have someone to sort things our for you

Industry Mentors

All our Mentors are Top Professionals from their respective Industries. In E-Box you Learn and get mentored by professionals

Auto Evaluation

Auto Evaluation is the Core of E-Box. Your solutions and answers are evaluated instantaneously by E-Box, thereby saving learners a lot of time

AI Blended Learning

With Auto - Evaluation being the core of the Platform, E-Box uses AI & ML to assist Learners during their course of Study

Personalised Learning

E-Box’s AI algorithms provide you with Exercises that are Personalised and Adaptive based on your Interest and Calibre

Real Time Metrics

Data becomes the core for evolving a personalised learning. E-Box uses these metrics for an Auto Corrective Learning Process

A - Z, You name the company and You will find our alumni.
We have successfully moulded over 10 lakh students from 100+ colleges and universities and we have a very strong alumni network across the globe
What do our Tutors and Learners Say about E-Box ?
I love the way E- Box teaches topics in such detail. The practical examples along with the Practice quizzes makes me skilled in each

Harihara Budra P, XII std