CSE330:COMPETITIVE CODING APPROACHES-TECHNIQUES
L:2 T:0 P:1 Credits:3
Course Outcomes: Through this course students should be able to
CO1 :: explain the process to find efficiency of algorithms using asymptotic notations.
CO2 :: identify an efficient algorithm for determining primality testing.
CO3 :: examine the use of nlogn sorting techniques in effective way.
CO4 :: plan Tabulation and Memorization in standard dynamic programming problems.
CO5 :: explain the concept of memory allocations in recursions.
CO6 :: apply the technique of recursion in different applications.
Unit I
Asymptotic Analysis (Big-O notation) : Introduction to asymptotic notations, Basics of Big-O
notation, Definition of Big-O notation, Measuring efficiency of algorithms, Time and space complexity
analysis of recursive programs
Sqrt(n) Primality Testing : O(sqrt(n)) algorithm for finding whether a number is a prime,
Factorization of a number, Finding prime factors by taking the square root, Fermat method, Sieve of
Eratosthenes, Segmented Sieve, Sieve of Atkins
Basic Recursion : Introduction to recursion: base condition in recursion, How a particular problem is
solved using recursion, Difference between direct and indirect recursion, Difference between tailed
and non-tailed recursion, How memory is allocated to different function calls in recursion, Advantages
& disadvantages of recursive programming, Backtracking, Memoization & Dynamic Programming
Basic Dynamic Programming : Introduction to Dynamic Programming, Dynamic Programming
process, Tiling problem, Tabulation vs Memoizatation, Optimal Substructure Property, Overlapping
Subproblems Property, How to solve a Dynamic Programming Problem
Dynamic Programming Problems : Longest increasing subsequence, Longest common
subsequence, Binomial coefficient, Box Stacking, Integer Knapsack Problem (Duplicate Items
Forbidden), Edit Distance, Balanced Partition
O(n logn) Sorting : Iterative MergeSort, Recursive MergeSort, QuickSort, CountingSort, Sorting
Elements by Frequency, Sort Array in Wave Form, Finding Minimum Length Sorted Sub-array to Sort
an Array, Sorting Strings, Count Distinct Pairs with Difference of K
Text Books:
1. CRACKING THE CODING INTERVIEW by GAYLE LAAKMANN MCDOWELL, CAREERCUP
References:
1. PROGRAMMING PEARLS by JOE BENTLEY, PEARSON
Session 2023-24 Page:1/1