You are on page 1of 2

CSE330:COMPETITIVE CODING APPROACHES-TECHNIQUES

Course Outcomes: Through this course students should be able to

CO1 :: discuss the time and memory complexity of an algorithm or a structure

CO2 :: evaluate primality efficiently

CO3 :: examine the use of nlogn sorting techniques in effective way

CO4 :: plan Tabulation and Memorization in standard Dynamic Programming problems

CO5 :: describe the concept of memory allocations in recursions

CO6 :: use the technique of recursion in different applications

List of Practicals / Experiments:

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

Session 2021-22 Page:1/2


• 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 2021-22 Page:2/2

You might also like