Beruflich Dokumente
Kultur Dokumente
PROGRAM (S) TO BE
BSCS
EVALUATED
A. Course Description
(Fill out the following table for each course in your computer science curriculum. A filled out form should
not be more than 2-3 pages.)
Reference Material Internet, VU material and other universities material related to Algorithm.
1 NCEAC.FORM.001.C
The Algorithm Design Manual By Steven S. Skiena
Algorithms By Dasgupta, C. H. Papadimitriou, and U. V. Vazirani
Algorithms 4th Edition By Robert Sedgewick
Design and Analysis of Algorithms 2nd Edition By Parag Himanshu Dave
2 NCEAC.FORM.001.C
that algorithm give us hint to what basic
structure.
Lec#4: Insertion Sort and its line by line
analysis. How insertion sort works. What is
basic structure for that Algorithm? What is cost
for inserting one element from the domain in the
sorted order, how that is done? What is the
Complexity for insertion sort in best case, worse
case and average case? Does all three
complexities are same or each has different
values. Different values for the complexity of
that algorithm give us hint to what basic
structure.
Best, Worst Case Analysis of Insertion sort, how
these complexities are applied to the real world
problems and then its recurrence formation.
Forming the summation for the algorithm to
calculate the time complexity, what are the
constant cost factors, what are the variable cost
factors in time complexity related to any given
algorithm?
Decrease and Conquer.
Lec#5: How to calculate the complexity of the given
code, different cases for the calculation? Growth
of the function, how we determine that on
different polynomial functions. What is the main
basic block in that calculation? Why we consider
a single term for that calculation? Does that
single term solution is true for all the input values
or we have to place some checks on that value.
Asymptotic notation, function and running time.
What is the difference between different
asymptotic notations?
Lec#6: Ω (Big Omega), O (Big Oh), o (Small
Oh), Θ (Theta) and ω (Small Omega).
What is the difference between these notations?
What is the role of constant factor c in calculating
these notations? Does for one function value of Assignment 1
the constant c and the variable no always remain
the same or there is a relation between these two
values. How we can calculate these different
asymptotic notations?
Lec#7: Divide and Conquer Approach: What is
Divide and Conquer approach? How we use that
approach in our daily life. What are the good and
bad for that application in general life? What is
basic structure for that approach? How we
implement that idea in the form of Algorithm.
Does that implementation is recursive or
iterative.
Lec#8: Merge Sort: Analysis of Merge Sort and how
to form its recurrence, how we divide the original
problem in to two parts and the same two part
division is repeated until we reach the base case
condition of size one. Does there any change in
the solution if we increase the size for the base
case more than 1. What is the cost for dividing
the problem domain into smaller parts?
3 NCEAC.FORM.001.C
Lec#9: What is the cost in merging these smaller parts
with each other to form the sorted solution level
by level? Is there a chance that we can change the
division of the problem domain level be level
rather than the two equal parts? We can divide
the problem domain into parts of different sizes
but does the same solution will be generated or
we have to consider some other checks in solving
that problem.
Lec#10: Maximum sub array problem: What is the
basic problem? Where that concept is used. How
to solve that problem. How we can form some
basic solution. Does that basic solution is good.
To design more workable solution on the base of
value, what will be its complexity? To design
more better solution on the basis of change in the
value, does that approach make the problem
easier to understand and solve, or at first
understanding becomes difficult and then we can Quiz 1
realize the change in method and then we can
form a better solution for that problem. In divide
and conquer approach does solution is always in
left part or right part or we have to think out of
the box to understand that may be there is some
overlapping section which can hold the solution.
5 NCEAC.FORM.001.C
different information, what is the final result of
this algorithm, where we can use this algorithm,
basic condition, limitation, application in
practical domain
Lec#22: DFS. How depth first search works, its
algorithm, its working, what data structure is
used in its working, how it keep track of
different information, what is the final result of Quiz 5
this algorithm, where we can use this algorithm,
basic condition, limitation, application in
practical domain
Lec#23: Topological Sort. How we can use
topological sort, what is the basic step before its
application, which technique helps in its
application, where we can implement that
sorting technique, what results we can achieve
with the help of this sorting technique.
Lec#24: Strongly Connected Components.
Finding SCC in a graph, how we can do that,
it’s working, its steps, its implementation,
complexity, what is the basic block for this SCC
implementation, what benefits can we get from
these SCC’s, its practical application.
Lec#25: Spanning Tree. How an un directed graph
can be seen as a form of a connected tree, means
spanning tree, how different vertices are
connected with each other, where do we use this
algorithm, what benefits and results we get from
this algorithm, its working, complexity,
application.
Minimum Spanning Tree. When in un
directed weighted graph, if we want to find the
minimum possible connection to form a
connection tree, how we will do that, what is its
benefits, it selection procedure, its
implementation.
Prims. A greedy minimum spanning tree
algorithm, works locally greedy, its application
steps, basic data structure for implementation,
its working, final result, complexity, application
and its benefits.
Lec#26: Krushkal. A greedy minimum spanning tree
algorithm, works globally greedy, its application
steps, basic data structure for implementation,
its working, final result, complexity, application
and its benefits.
Lec#27: Single-Source Shortest Paths. Where to
apply path, directed or un directed, what is
called a path, basic definition, formation, how
path is termed as shortest path ( minimum edge
shortest path, minimum weight shortest path),
what is the difference between the two, where
we apply these different divergent of shortest
path, its greedy implementation, complexity,
working, basic data structure, its steps, final
result.
Dijkstra’s. Special case shortest path
algorithm, for only positive edge weights, its
6 NCEAC.FORM.001.C
working, its complexity, its steps, its
application, working of the algorithm,
limitations, checking criteria, basic data
structure, complexity.
Lec#28: Bellman Ford. Generic shortest path
algorithm, for positive and negative edge
weights, its working, its complexity, its steps, its
application, working of the algorithm,
limitations, checking criteria, basic data
structure, complexity.
Lec#29: Dynamic Programming: Definition and
basic structure. What is recursive formulation,
what is memoization? How memoization helps
in reducing time complexity. What is top down
and bottom up approach?
Rod Cutting problem.
Lec#30: Matrix Multiplication Problem.
7 NCEAC.FORM.001.C