Resources
01
- Basic
- youtube.com - Time complexity of a computer program
- youtube.com - Big-O notation in 5 minutes - The basics
- youtube.com - Definition Of Big O Notation - Intro to Theoretical Computer Science
- youtube.com - Algorithms Lecture 1 -- Introduction to asymptotic notations
- iarcs.org.in - Measuring the efficiency of algorithms
- interactivepython.org - Particularly for Big-O notation
- Advanced
- rob-bell.net - A beginner's guide to Big O notation
- youtube.com - Big O Notation, Gayle Laakman McDowell
- web.mit.edu - Big O notation
- youtube.com - Time and space complexity analysis of recursive programs - using factorial
- A very nice tutorial with examples
- Practice Problems
- Check some MCQs on space and time complexity here.
- You can see some problems with solutions here: Time complexity of an algorithm
02
- Resources
- codechef.com - Data Structure Tutorial: Array
- cs.cmu.edu - Arrays
- geeksforgeeks.org - Arrays Data Structure
- Practice Problems
03
- Resources
- tutorialspoint.com - C++ strings
- guru99.com - Java strings
- docs.python.org - Python strings
- tutorialspoint.com - Python strings
- geeksforgeeks.org - Many string questions
- Practice Problems
04
- Resources
- geeksforgeeks.org - Stack Data Structure
- geeksforgeeks.org - Introduction and Array Implementation
- tutorialspoint.com - Data Structures Algorithms
- cs.cmu.edu - Stacks
- cs.cmu.edu - Stacks and Queues
- cs.cmu.edu - Stacks and Queues
- Practice Problems
- spoj.com - JNEXT
- spoj.com - STPAR
- spoj.com - ONP
- codechef.com - COMPILER
- spoj.com - MMASS
- spoj.com - HISTOGRA
- codeforces.com - D. Maximum Xor Secondary
- spoj.com - ANARC09A
- codeforces.com - C. Minimal string
- codeforces.com - B. Alternating Current
- codeforces.com - C. Longest Regular Bracket Sequence
05
- codechef.com - A tutorial on Fast Modulo Multiplication
06
- youtube.com - Mycodeschool video
- khanacademy.org - The Euclidean Algorithm
- geeksforgeeks.org - Example program to find gcd in c++:
07
- Resources
- Only O(sqrt(n)) algorithm for finding whether a number is a prime, factorization of a number.
- Finding prime factors by taking the square root
- Practice Problems
- community.topcoder.com - DivisorInc
- community.topcoder.com - Prime Polynom
- community.topcoder.com - Prime Anagrams
- community.topcoder.com - Refactoring
08
- Resources
- topcoder.com - An Introduction to Recursion, Part 1
- topcoder.com - An Introduction to Recursion: Part 2
- geeksforgeeks.org - Recursion ;(along with questions)
- web.mit.edu - Recursion
- csee.umbc.edu - Recursion ;(Examples with exercises)
- loveforprogramming.quora.com - Backtracking, Memoization & Dynamic Programming
- byte-by-byte - Recursion for Coding Interviews
- Practice Problems
09
- Resources
- iarcs.org.in - Greedy Algorithms
- iarcs.org.in - Greedy Algorithms
- topcoder.com - Greedy Algorithms
- Greedy Algorithms
- Practice Problems
- codechef.com - TACHSTCK, editorial
- codechef.com - CIELRCPT, editorial
- codechef.com - MAXDIFF, editorial
- codechef.com - CHEFST, editorial
- codechef.com - CAKEDOOM, editorial
- codechef.com - CLETAB, editorial
- codechef.com - TADELIVE, editorial
- codechef.com - MANYCHEF, editorial
- codechef.com - MMPROD, editorial
- codechef.com - CHEFTMA, editorial
- codechef.com - STICKS, editorial
- spoj.com - BAISED
- spoj.com - BALIFE
- spoj.com - GCJ101BB
- codechef.com - FGFS
- codechef.com - KNPSK
- codechef.com - LEMUSIC
- spoj.com - ARRANGE
- spoj.com - FASHION
10
- Resources
- medium.freecodecamp.org - Demystifying Dynamic Programming
- iarcs.org.in - Dynamic Programming - Tiling
- topcoder.com - Dynamic Programming – From Novice to Advanced
- illinois.edu - Dynamic Programming ;(Exercises are recommended)
- codechef.com - Dynamic Programming
- geeksforgeeks.org - Dynamic Programming ;(Contains a lot of practice sessions)
- MIT OCW - Dynamic Programming I
- MIT OCW - Dynamic Programming II
- MIT OCW - Dynamic Programming III
- MIT OCW - Dynamic Programming IV
- Practice Problems
- codechef.com - ALTARAY, editorial
- codechef.com - DELISH, editorial
- codechef.com - DBOY, editorial
- codechef.com - XORSUB, editorial
- codechef.com - GRID, editorial
- codechef.com - TADELIVE, editorial
- codechef.com - FROGV, editorial
- codechef.com - MATRIX2, editorial
- codechef.com - AMSGAME2, editorial
- spoj.com - MDOLLS
- spoj.com - MSTICK
- spoj.com - MCARDS
- spoj.com - MIXTURES
- spoj.com - SAMER08D
- spoj.com - AIBOHP
11
- Resources
- geeksforgeeks.org - Naive Pattern Searching
12
- khanacademy.org
- visualgo.net
- iarcs.org.in
- Merge sort
- youtube.com - Merge sort algorithm
- codechef.com -MRGSRT
- Quick sort
- youtube.com - Quicksort algorithm
- codechef.com -TSORT
- Counting sort
- geeksforgeeks.org - Counting Sort
- codechef.com - TACHSTCK, editorial
- codechef.com - STICKS, editorial
13
- Resources
- topcoder.com (Try solving problems of Simple and Moderate level as mentioned in the end of the link)
- codechef.com
- usfca.edu
- khanacademy.org
- Detailed Theoretical analysis
- cmu.edu (A theoretical analysis)
- Practice Problems
- geeksforgeeks.org - Binary Search (Contains some solved problems)
- codechef.com - STRSUB, editorial
- codechef.com - ASHIGIFT, editorial
- codechef.com - STACKS, editorial
- codechef.com - DIVSET, editorial
- codechef.com - LOWSUM, editorial
- codechef.com - SNTEMPLE, editorial
- codechef.com - SNAKEEAT, editorial
- codechef.com - SCHEDULE, editorial
- codechef.com - RIGHTTRI, editorial
- codechef.com - FORESTGA, editorial
- codechef.com - CHEFHCK2,editorial
- spoj.com - ABCDEF
- spoj.com - NOTATRI
- spoj.com - SCALE
- spoj.com - SUMFOUR
- spoj.com - SUBSUMS
- spoj.com - ANARC05B
- spoj.com - RENT
- spoj.com - PIE
- spoj.com - MKUHAR
- spoj.com - SVADA
- spoj.com - SUBS
Mock Test
Practice on the exact problems which had appeared in a past CodeChef contests-
- Test 1 - codechef.com/FLMOCK01
- Test 2 - codechef.com/FLMOCK02
- Test 3 - codechef.com/FLMOCK03
- Test 4 - codechef.com/FLMOCK04