0% found this document useful (0 votes)
2 views

Learn Data Structures and Algorithms _ DSA tutorials _ CodeChef

The document outlines the syllabus and resources for learning Data Structures and Algorithms (DSA) as part of a certification test offered by CodeChef. It includes a foundation level syllabus covering basic data structures, algorithms, and mathematical operations, along with recommended learning resources and practice problems. Additionally, it mentions advanced topics for further study and provides links to mock tests for self-assessment.

Uploaded by

Believer
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Learn Data Structures and Algorithms _ DSA tutorials _ CodeChef

The document outlines the syllabus and resources for learning Data Structures and Algorithms (DSA) as part of a certification test offered by CodeChef. It includes a foundation level syllabus covering basic data structures, algorithms, and mathematical operations, along with recommended learning resources and practice problems. Additionally, it mentions advanced topics for further study and provides links to mock tests for self-assessment.

Uploaded by

Believer
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

12/25/23, 2:45 AM Learn Data Structures and Algorithms | DSA tutorials | CodeChef

Upgrade To Pro

Home Courses Practice Compete Discuss

Home » DSA Syllabus

We use cookies to improve your experience and for analytical purposes. Read our Privacy Policy and Terms to know more. You consent to our
cookies if you continue to use our website. Okay

https://www.codechef.com/certification/data-structures-and-algorithms/prepare#foundation 1/15
12/25/23, 2:45 AM Learn Data Structures and Algorithms | DSA tutorials | CodeChef

Learn Data Structures and Algorithms

This section lists out the syllabus, the learning resources and Mock Tests to help you prepare for the data structures and algorithms
Certification test. The resources that we list here are references that we have collected over the internet and some of them from our
own website. While we do recommend these resources based on the inputs of our user community, we do not claim that these are
the most authoritative Learning Resources about any topic in data structures and algorithms. Please feel free to find out what suits
best to you.

We have also prepared a Mock Test for each level. A Mock Test is an open assessment contest that will help you assess yourself
after you are ready with the topics. For each level we have different Mock Tests. These DSA contests will run forever.

Update:
If you are new to programming, you should start with our learn to code paths. They have curated content with lessons and practical
problems to practice.

If you already know programming, start from our problem-solving or DSA learning paths from the learn catalog page.

Foundation 
Syllabus:

The syllabus for Foundation level is mentioned below:

1. Basic Data Structures: Arrays, Strings, Stacks, Queues


2. Asymptotic analysis (Big-O notation)
3. Basic math operations (addition, subtraction, multiplication, division, exponentiation)
4. Sqrt(n) primality testing
5. Euclid’s GCD Algorithm
6. Basic Recursion
7. Greedy Algorithms
8. Basic Dynamic Programming
9. Naive string searching
10. O(n logn) Sorting
11. Binary Searching

Learning Resources:
1. Asymptotic analysis (Big-O notation)

a. Basic

i. youtube.com - Time complexity of a computer program


ii. youtube.com - Big-O notation in 5 minutes - The basics
iii. youtube.com - Definition Of Big O Notation - Intro to Theoretical Computer Science
iv. youtube.com - Algorithms Lecture 1 -- Introduction to asymptotic notations
v. iarcs.org.in - Measuring the efficiency of algorithms
vi. runestone.academy - Particularly for Big-O notation

b. Advanced

i. rob-bell.net - A beginner's guide to Big O notation


ii. youtube.com - Big O Notation, Gayle Laakman McDowell
iii. web.mit.edu - Big O notation
iv. youtube.com - Time and space complexity analysis of recursive programs - using factorial
v. A very nice tutorial with examples

c. to
We use cookies Practice
improveProblems
your experience and for analytical purposes. Read our Privacy Policy and Terms to know more. You consent to our
cookies if you continue to use our website.
i Check some MCQs on space and time complexity here
https://www.codechef.com/certification/data-structures-and-algorithms/prepare#foundation 2/15
12/25/23, 2:45 AM Learn Data Structures and Algorithms | DSA tutorials | CodeChef
i. Check some MCQs on space and time complexity here.
ii. You can see some problems with solutions here: Time complexity of an algorithm

2. Arrays

a. Resources

i. codechef.com - Data Structure Tutorial: Array


ii. cs.cmu.edu - Arrays
iii. geeksforgeeks.org - Arrays Data Structure

b. Practice Problems

i. codechef.com - LECANDY, editorial


ii. codechef.com - CNOTE, editorial ;
iii. codechef.com - SALARY, editorial
iv. codechef.com - CHN15A, editorial
v. codechef.com - RAINBOWA, editorial
vi. codechef.com - FRGTNLNG, editorial
vii. codechef.com - COPS, editorial

3. Strings

a. Resources

i. tutorialspoint.com - C++ strings


ii. guru99.com - Java strings
iii. docs.python.org - Python strings
iv. tutorialspoint.com - Python strings
v. geeksforgeeks.org - Many string questions

b. Practice Problems

i. codechef.com - CSUB, editorial


ii. codechef.com - LAPIN, editorial

4. Stack and Queue

a. Resources

i. geeksforgeeks.org - Stack Data Structure


ii. geeksforgeeks.org - Introduction and Array Implementation
iii. tutorialspoint.com - Data Structures Algorithms
iv. cs.cmu.edu - Stacks
v. viterbi-web.usc.edu - Stacks and Queues
vi. cs.cmu.edu - Stacks and Queues

b. Practice Problems

i. spoj.com - JNEXT
ii. spoj.com - STPAR
iii. spoj.com - ONP
iv. codechef.com - COMPILER
v. spoj.com - MMASS
vi. spoj.com - HISTOGRA
vii. codeforces.com - D. Maximum Xor Secondary
viii. spoj.com - ANARC09A
ix. codeforces.com - C. Minimal string
x. codeforces.com - B. Alternating Current
xi. codeforces.com - C. Longest Regular Bracket Sequence

We use5.cookies
Basic math operations
to improve (addition,
your experience subtraction,
and for analytical multiplication,
purposes. Read our Privacydivision,
Policy and exponentiation)
Terms to know more. You consent to our
cookies if you continue to use our website.
a codechef com A tutorial on Fast Modulo Multiplication
https://www.codechef.com/certification/data-structures-and-algorithms/prepare#foundation 3/15
12/25/23, 2:45 AM Learn Data Structures and Algorithms | DSA tutorials | CodeChef
a. codechef.com - A tutorial on Fast Modulo Multiplication

6. Euclid’s GCD Algorithm

a. Resources

i. youtube.com - Mycodeschool video


ii. khanacademy.org - The Euclidean Algorithm
iii. geeksforgeeks.org - Example program to find gcd in c++:

7. Prime Numbers, divisibility of numbers

a. Resources:

i. Only O(sqrt(n)) algorithm for finding whether a number is a prime, factorization of a number.
ii. Finding prime factors by taking the square root

b. Practice Problems:

i. community.topcoder.com - DivisorInc
ii. community.topcoder.com - Prime Polynom
iii. community.topcoder.com - Prime Anagrams
iv. community.topcoder.com - Refactoring

8. Basic Recursion

a. Resources

i. topcoder.com - An Introduction to Recursion, Part 1


ii. topcoder.com - An Introduction to Recursion: Part 2
iii. geeksforgeeks.org - Recursion ;(along with questions)
iv. web.mit.edu - Recursion
v. csee.umbc.edu - Recursion ;(Examples with exercises)
vi. loveforprogramming.quora.com - Backtracking, Memoization & Dynamic Programming
vii. byte-by-byte - Recursion for Coding Interviews

b. Practice Problems

i. codechef.com - NOKIA, editorial


ii. codechef.com - TRISQ, editorial
iii. codechef.com - LFSTACK, editorial
iv. codechef.com - FICE, editorial

9. Greedy Algorithms

a. Resources

i. iarcs.org.in - Greedy Algorithms


ii. iarcs.org.in - Greedy Algorithms
iii. topcoder.com - Greedy Algorithms
iv. Greedy Algorithms

b. Practice Problems

i. codechef.com - TACHSTCK, editorial


ii. codechef.com - CIELRCPT, editorial
iii. codechef.com - MAXDIFF, editorial
iv. codechef.com - CHEFST, editorial
v. codechef.com - CAKEDOOM, editorial
vi. codechef.com - CLETAB, editorial
vii. codechef.com - TADELIVE, editorial
viii. codechef.com - MANYCHEF, editorial
ix. codechef.com - MMPROD, editorial

We use cookies tox.improve


codechef.com - CHEFTMA,
your experience editorial
and for analytical purposes. Read our Privacy Policy and Terms to know more. You consent to our
cookies if you continue to use our website.
xi. codechef.com - STICKS, editorial
https://www.codechef.com/certification/data-structures-and-algorithms/prepare#foundation 4/15
12/25/23, 2:45 AM Learn Data Structures and Algorithms | DSA tutorials | CodeChef
xi. codechef.com STICKS, editorial
xii. spoj.com - BAISED
xiii. spoj.com - BALIFE
xiv. spoj.com - GCJ101BB
xv. codechef.com - FGFS
xvi. codechef.com - KNPSK
xvii. codechef.com - LEMUSIC
xviii. spoj.com - ARRANGE
xix. spoj.com - FASHION

10. Dynamic programming (Basic DP)

a. Resources

i. medium.freecodecamp.org - Demystifying Dynamic Programming


ii. iarcs.org.in - Dynamic Programming - Tiling
iii. topcoder.com - Dynamic Programming – From Novice to Advanced
iv. illinois.edu - Dynamic Programming ;(Exercises are recommended)
v. codechef.com - Dynamic Programming
vi. geeksforgeeks.org - Dynamic Programming ;(Contains a lot of practice sessions)
vii. MIT OCW (Contains some Advanced topics as well)

i. Dynamic Programming I
ii. Dynamic Programming II
iii. Dynamic Programming III
iv. Dynamic Programming IV

b. Practice Problems

i. codechef.com - ALTARAY, editorial


ii. codechef.com - DELISH, editorial
iii. codechef.com - DBOY, editorial
iv. codechef.com - XORSUB, editorial
v. codechef.com - GRID, editorial
vi. codechef.com - TADELIVE, editorial
vii. codechef.com - FROGV, editorial
viii. codechef.com - MATRIX2, editorial
ix. codechef.com - AMSGAME2, editorial
x. spoj.com - MDOLLS
xi. spoj.com - MSTICK
xii. spoj.com - MCARDS
xiii. spoj.com - MIXTURES
xiv. spoj.com - SAMER08D
xv. spoj.com - AIBOHP

11. Naive string searching

a. Resources

i. geeksforgeeks.org - Naive Pattern Searching

12. Sorting

a. khanacademy.org
b. visualgo.net
c. iarcs.org.in
d. Merge sort
We use cookies toi.improve your experience
youtube.com - Mergeandsort
for analytical
algorithm purposes. Read our Privacy Policy and Terms to know more. You consent to our
cookies if you continue to use our website.
ii P ti P bl
https://www.codechef.com/certification/data-structures-and-algorithms/prepare#foundation 5/15
12/25/23, 2:45 AM Learn Data Structures and Algorithms | DSA tutorials | CodeChef
ii. Practice Problems
codechef.com -MRGSRT

e. Quick sort

i. youtube.com - Quicksort algorithm


ii. Practice Problems
codechef.com -TSORT

f. Counting sort

i. geeksforgeeks.org - Counting Sort


ii. Practice Problems

i. codechef.com - TACHSTCK, editorial


ii. codechef.com - STICKS, editorial

13. Binary Search

a. Resources

i. topcoder.com (Try solving problems of Simple and Moderate level as mentioned in the end of the link)
ii. codechef.com
iii. usfca.edu
iv. khanacademy.org

b. Detailed Theoretical analysis

i. cmu.edu (A theoretical analysis)

c. Problems

i. geeksforgeeks.org - Binary Search (Contains some solved problems)


ii. codechef.com - STRSUB, editorial
iii. codechef.com - ASHIGIFT, editorial
iv. codechef.com - STACKS, editorial
v. codechef.com - DIVSET, editorial
vi. codechef.com - LOWSUM, editorial
vii. codechef.com - SNTEMPLE, editorial
viii. codechef.com - SNAKEEAT, editorial
ix. codechef.com - SCHEDULE, editorial
x. codechef.com - RIGHTTRI, editorial
xi. codechef.com - FORESTGA, editorial
xii. codechef.com - CHEFHCK2,editorial
xiii. spoj.com - ABCDEF
xiv. spoj.com - NOTATRI
xv. spoj.com - SCALE
xvi. spoj.com - SUMFOUR
xvii. spoj.com - SUBSUMS
xviii. spoj.com - ANARC05B
xix. spoj.com - RENT
xx. spoj.com - PIE
xxi. spoj.com - MKUHAR
xxii. spoj.com - SVADA
xxiii. spoj.com - SUBS

Past Test:

Practice on the exact problems which had appeared in a past DSA Foundation level exam:

We use1.cookies
Testto1 improve your experience and for analytical purposes. Read our Privacy Policy and Terms to know more. You consent to our
- https://www.codechef.com/FLPAST01
cookies if you continue to use our website.

https://www.codechef.com/certification/data-structures-and-algorithms/prepare#foundation 6/15
12/25/23, 2:45 AM Learn Data Structures and Algorithms | DSA tutorials | CodeChef

Mock Test:

1. Test 1 - codechef.com/FLMOCK01
2. Test 2 - codechef.com/FLMOCK02
3. Test 3 - codechef.com/FLMOCK03
4. Test 4 - codechef.com/FLMOCK04

Advanced 
This level is intended to test that the one has a very good grasp of data structures and algorithms, and can solve most problems
that arise in practice. You can expect problems from the following topics to come in the DSA exam.

Syllabus:

Everything in the Foundation Level, along with:

1. Heaps (priority queue)


2. Disjoint Set Union
3. Segment Trees
4. Binary Index Tree (Fenwick tree)
5. Trees (traversals, tree dynamic programming)
6. Finding Lowest Common Ancestors (O(log N) solution where N is number of nodes).
7. Graph Algorithms:

a. Finding connected components and transitive closures.


b. Shortest-path algorithms (Dijkstra, Bellman-Ford, Floyd-Warshall)
c. Minimum spanning tree (Prim and Kruskal algorithms)
d. Biconnectivity in undirected graphs (bridges, articulation points)
e. Strongly connected components in directed graphs
f. Topological Sorting
g. Euler path, tour/cycle.

8. Modular arithmetic including division, inverse


9. Amortized Analysis
10. Divide and Conquer
11. Advanced Dynamic Programming problems (excluding the dp optimizations which are added in expert level)
12. Sieve of Eratosthenes

Learning Resources:

1. Heaps (priority queue)

a. Resources

i. cs.cmu.edu
ii. eecs.wsu.edu
iii. geeksforgeeks.org
iv. visualgo.net
v. iarcs.org.in

b. Practice Problems

i. codechef.com - IPCTRAIN, editorial


ii. codechef.com - ANUMLA, editorial
iii. codechef.com - KSUBSUM, editorial
iv. codechef.com - RRATING, editorial
v. codechef.com - TSECJ05, editorial
We use cookies to improve your experience and for analytical purposes. Read our Privacy Policy and Terms to know more. You consent to our
cookies if you continue to use our- WEIRDFN
vi. spoj.com website.

https://www.codechef.com/certification/data-structures-and-algorithms/prepare#foundation 7/15
12/25/23, 2:45 AM Learn Data Structures and Algorithms | DSA tutorials | CodeChef

vii. codechef.com - CAPIMOVE, editorial


viii. spoj.com - RMID2
ix. spoj.com - LAZYPROG
x. spoj.com - EXPEDI
xi. acm.timus.ru
xii. baylor.edu - Maze Checking and Visualization
xiii. codechef.com - MOSTDIST, editorial

2. Disjoint Set Union

a. Resources

i. topcoder.com
ii. harvard.edu
iii. ucdavis.edu
iv. visualgo.net

b. Practice Problems

i. codechef.com - GALACTIK, editorial


ii. codechef.com - DISHOWN, editorial
iii. codechef.com - JABO, editorial
iv. codechef.com - PARITREE, editorial
v. codechef.com - FILLMTR, editorial
vi. B. Mike and Feet
vii. D. Quantity of Strings
viii. codechef.com - SETELE, editorial
ix. codechef.com - MAZE, editorial
x. codechef.com - MAGICSTR, editorial
xi. codechef.com - MTRWY, editorial
xii. codechef.com - BIGOF01, editorial
xiii. codechef.com - FIRESC, editorial

3. Segment Trees

a. Resources

i. wcipeg.com
ii. topcoder.com
iii. kartikkukreja.wordpress.com
iv. visualgo.net
v. iarcs.org.in

b. Practice Problems

i. spoj.com - GSS1
ii. spoj.com - GSS2
iii. codeforces.com - Classic Segment Tree (Expert Level)
iv. spoj.com - IOPC1207
v. spoj.com - ORDERSET
vi. spoj.com - HELPR2D2
vii. spoj.com - ANDROUND
viii. spoj.com - HEAPULM
ix. spoj.com - NICEDAY
x. spoj.com - YODANESS
xi. spoj.com - DQUERY
We use cookies to improve your experience and for analytical purposes. Read our Privacy Policy and Terms to know more. You consent to our
xii. spoj.com - KQUERY
cookies if you continue to use our website.

https://www.codechef.com/certification/data-structures-and-algorithms/prepare#foundation 8/15
12/25/23, 2:45 AM Learn Data Structures and Algorithms | DSA tutorials | CodeChef
xiii. spoj.com - FREQUENT
xiv. spoj.com - GSS3
xv. spoj.com - GSS4
xvi. spoj.com - GSS5
xvii. spoj.com - KGSS
xviii. spoj.com - HELPR2D2
xix. spoj.com - BRCKTS
xx. spoj.com - CTRICK
xxi. spoj.com - MATSUM
xxii. spoj.com - RATING
xxiii. spoj.com - RRSCHED
xxiv. spoj.com - SUPPER
xxv. spoj.com - ORDERS
xxvi. codechef.com - LEBOBBLE
xxvii. codechef.com - QUERY
xxviii. spoj.com - TEMPLEQ
xxix. spoj.com - DISUBSTR
xxx. spoj.com - QTREE
xxxi. spoj.com - QTREE2
xxxii. spoj.com - QTREE3
xxxiii. spoj.com - QTREE4
xxxiv. spoj.com - QTREE5

c. Problems on segment tree with lazy propagation

i. spoj.com - HORRIBLE (must do basic lazy propagation problem)


ii. spoj.com - LITE (a nice lazy propagation problem)
iii. spoj.com - MULTQ3 (another nice lazy propagation problem)
iv. codechef.com - CHEFD
v. codechef.com - FUNAGP (a difficult lazy propagation problem.)
vi. RPAR (a difficult and nice lazy propagation)
vii. codechef.com - ADDMUL
viii. spoj.com - SEGSQRSS (a difficult lazy propagation problem)
ix. spoj.com - KGSS
x. codeforces.com - C. Circular RMQ
xi. codeforces.com - E. Lucky Queries (must do hard problem on lazy propagation)
xii. codeforces.com - E. A Simple Task
xiii. codeforces.com - C. DZY Loves Fibonacci Numbers (important problem to do, introduces some nice properties over
lazy propagation)
xiv. codeforces.com - D. The Child and Sequence
xv. codeforces.com - E. Lucky Array

4. Binary Index Tree (Fenwick tree)

a. Resources

i. topcoder.com
ii. iarcs.org.in
iii. visualgo.net

b. Practice Problems:
Please solve the problems mentioned in the above segment tree practice problems section. Note that usually, it's difficult to
do range updates in binary indexed trees. Mostly, it is used for for range query and point update. However, you can check
the following article for checking how some simple specific kind of range updates can be performed on binary indexed tree
We use cookies to improve your experience and for analytical purposes. Read our Privacy Policy and TermsNote
(http://petr-mitrichev.blogspot.in/2013/05/fenwick-tree-range-updates.html). to know
thatmore.
rangeYou consent on
updates to our
BIT is not a part of
cookies if you continue to use our website.
the syllabus.
https://www.codechef.com/certification/data-structures-and-algorithms/prepare#foundation 9/15
12/25/23, 2:45 AM Learn Data Structures and Algorithms | DSA tutorials | CodeChef

i. spoj.com - INVCNT
ii. spoj.com - TRIPINV

5. Trees (traversals)

a. Resources

i. slideshare.net
ii. iarcs.org.in
iii. berkeley.edu

b. Practice Problems

i. spoj.com - TREEORD

6. Finding Lowest Common Ancestors (O(log N) solution where N is number of nodes)

a. Resources

i. topcoder.com

7. Depth First Search, Breadth First Search (Finding connected components and transitive closures)

a. Resources

i. geeksforgeeks.org - Connected Components in an undirected graph


ii. geeksforgeeks.org - Transitive closure of a graph
iii. geeksforgeeks.org - Depth First Traversal or DFS for a Graph
iv. iarcs.org.in - Basic Graph Algorithms
v. visualgo.net - Graph Traversal
vi. harvard.edu - Breadth-First Search

b. Practice Problems

i. codechef.com - FIRESC, editorial


ii. spoj.com - BUGLIFE
iii. spoj.com - CAM5
iv. spoj.com - GCPC11J
v. spoj.com - KFSTB
vi. spoj.com - PT07Y
vii. spoj.com - PT07Z
viii. spoj.com - LABYR1
ix. spoj.com - PARADOX
x. spoj.com - PPATH ;(must do bfs problem)
xi. spoj.com - ELEVTRBL (bfs)
xii. spoj.com - QUEEN (bfs)
xiii. spoj.com - SSORT ;(cycles in a graph)
xiv. spoj.com - ROBOTGRI ;(bfs)

8. Shortest-path algorithms (Dijkstra, Bellman-Ford, Floyd-Warshall)

a. Resources

i. geeksforgeeks.org - Dijkstra’s shortest path algorithm


ii. Iarcs.org.in - Shortest paths
iii. Visualgo.net - Single-Source Shortest Paths (SSSP)

b. Practice Problems

i. codechef.com - DIGJUMP, editorial


ii. codechef.com - AMR14B, editorial
iii. codechef.com - INSQ15_F, editorial

We use cookies toiv.improve


codechef.com - SPSHORT,
your experience editorial
and for analytical (slightlyRead
purposes. difficult dijkstra's
our Privacy Policyproblem.)
and Terms to know more. You consent to our
cookies if you continue to use our website.
v. codechef.com - RIVPILE, editorial
https://www.codechef.com/certification/data-structures-and-algorithms/prepare#foundation 10/15
12/25/23, 2:45 AM Learn Data Structures and Algorithms | DSA tutorials | CodeChef
v. codechef.com RIVPILE, editorial
vi. spoj.com - SHPATH
vii. spoj.com - TRAFFICN
viii. spoj.com - SAMER08A
ix. spoj.com - MICEMAZE
x. spoj.com - TRVCOST
xi. codechef.com - PAIRCLST, editorial

9. Bellman Ford Algorithm

a. Resources

i. geeksforgeeks.org - Dynamic Programming - Bellman–Ford Algorithm


ii. compprog.wordpress.com - ;One Source Shortest Path - Bellman-Ford Algorithm

b. Practice Problem

i. community.topcoder.com - PeopleYouMayKnow
ii. codeforces.com - D. Robot Control
iii. spoj.com - ARBITRAG - Arbitrage ;(Floyd Warshall)
iv. community.topcoder.com - NetworkSecurity ;(Floyd Warshall)

10. Minimum spanning tree (Prim and Kruskal algorithms)

a. Resources

i. algs4.cs.princeton.edu - Minimum Spanning Trees


ii. iarcs.org.in - Spanning trees
iii. visualgo.net - Spanning Tree

b. Practice Problem

i. spoj.com - MST
ii. spoj.com - NITTROAD
iii. spoj.com - BLINNET
iv. spoj.com - CSTREET
v. spoj.com - HIGHWAYS
vi. spoj.com - IITWPC4I
vii. codechef.com - MSTQS, editorial
viii. codechef.com - CHEFGAME, editorial
ix. codechef.com - GALACTIK, editorial
x. codechef.com - GOOGOL03, editorial
xi. spoj.com - KOICOST

11. Biconnectivity in undirected graphs (bridges, articulation points)

a. Resources

i. e-maxx-eng.appspot.com - Finding Bridges in a Graph


ii. iarcs.org.in - Articulation Points
iii. pisces.ck.tp.edu.tw - Articulation Points

b. Practice Problem

i. uva.onlinejudge.org - Network
ii. icpcarchive.ecs.baylor.edu - Building Bridges
iii. uva.onlinejudge.org - Tourist Guide
iv. tzcoder.cn - Network
v. spoj.com - EC_P - Critical Edges
vi. spoj.com - SUBMERGE - Submerging Islands
vii. spoj.com - POLQUERY - Police Query
We use cookies to improve your experience and for analytical purposes. Read our Privacy Policy and Terms to know more. You consent to our
viii. codeforces.com
cookies if you continue - A. Cutting Figure
to use our website.

https://www.codechef.com/certification/data-structures-and-algorithms/prepare#foundation 11/15
12/25/23, 2:45 AM Learn Data Structures and Algorithms | DSA tutorials | CodeChef

12. Strongly connected components in directed graphs

a. Resources

i. iarcs.org.in - Strongly connected components


ii. theory.stanford.edu - Strongly Connected Components

b. Practice Problem

i. spoj.com - ANTTT
ii. spoj.com - CAPCITY
iii. spoj.com - SUBMERGE
iv. codechef.com - MCO16405, editorial
v. spoj.com - BOTTOM
vi. spoj.com - BREAK
vii. community.topcoder.com - Marble Collection Game

13. Topological Sorting

a. Resources

i. geeksforgeeks.org - Topological Sorting

b. Practice Problem

i. spoj.com - TOPOSORT ;
ii. codeforces.com - C. Fox And Names ;
iii. codechef.com - RRDAG, editorial
iv. spoj.com - RPLA
v. codechef.com - CL16BF (topological sort with dp), editorial
vi. spoj.com - MAKETREE

14. Euler path, tour/cycle.

a. Resources

i. math.ku.edu - Euler Paths and Euler Circuits

b. Practice Problem

i. spoj.com - WORDS1
ii. codechef.com - CHEFPASS, editorial
iii. codechef.com - TOURISTS, editorial
iv. codeforces.com - D. New Year Santa Network
v. B. Strongly Connected City
vi. codechef.com - PEOPLOVE
vii. codeforces.com - D. Tanya and Password
viii. codeforces.com - E. One-Way Reform
ix. spoj.com - GCPC11C
x. spoj.com - MAKETREE

15. Modular arithmetic including division, inverse

a. Resources

i. codechef.com - Fast Modulo Multiplication (Exponential Squaring)


ii. codechef.com - Best known algos for calculating nCr % M ;(only for expert level)

16. Amortized Analysis

a. Resources

i. ocw.mit.edu - Amortized Analysis


ii. wikipedia.org - Amortized Analysis
We use cookies toiii.improve your experience
iiitdm.ac.in and for
- Amortized analytical purposes. Read our Privacy Policy and Terms to know more. You consent to our
Analysis
cookies if you continue to use our website.

https://www.codechef.com/certification/data-structures-and-algorithms/prepare#foundation 12/15
12/25/23, 2:45 AM Learn Data Structures and Algorithms | DSA tutorials | CodeChef
17. Divide and Conquer

a. Resources

i. cs.cmu.edu - Divide-and-Conquer and Recurrences


ii. geeksforgeeks.org - Divide-and-Conquer

b. Practice Problem

i. codechef.com - MRGSRT, editorial


ii. spoj.com - HISTOGRA
iii. codechef.com - TASTYD, editorial
iv. codechef.com - RESTPERM, editorial
v. codechef.com - ACM14KP1, editorial

18. Advanced Dynamic Programming problems (excluding the dp optimizations which are added in expert level, Please go
through the basic DP resources and problems mentioned in foundation level resource.)

a. Resources

i. apps.topcoder.com - Commonly used DP state domains


ii. apps.topcoder.com - Introducing Dynamic Programming
iii. apps.topcoder.com - Optimizing DP solution
iv. codeforces.com - DP over Subsets and Paths

b. Problems for Advanced DP

i. spoj.com - HIST2 ;(dp bitmask)


ii. spoj.com - LAZYCOWS ;(dp bitmask)
iii. spoj.com - TRSTAGE ;(dp bitmask)
iv. spoj.com - MARTIAN
v. spoj.com - SQRBR
vi. spoj.com - ACMAKER
vii. spoj.com - AEROLITE
viii. spoj.com - BACKPACK
ix. spoj.com - COURIER
x. spoj.com - DP
xi. spoj.com - EDIST
xii. spoj.com - KRECT
xiii. spoj.com - GNY07H
xiv. spoj.com - LISA
xv. spoj.com - MINUS
xvi. spoj.com - NAJKRACI
xvii. spoj.com - PHIDIAS
xviii. spoj.com - PIGBANK
xix. spoj.com - PT07X
xx. spoj.com - VOCV
xxi. spoj.com - TOURIST
xxii. spoj.com - MKBUDGET
xxiii. spoj.com - MMAXPER
xxiv. spoj.com - ANARC07G
xxv. spoj.com - MENU
xxvi. spoj.com - RENT ;(dp with segment tree/BIT)
xxvii. spoj.com - INCSEQ ;(dp with segment tree/BIT)
xxviii. spoj.com - INCDSEQ ;(dp with segment tree/BIT)
xxix. You can solve some advanced problems from
We use cookies to improve your experience and for analytical purposes. Read our Privacy Policy and Terms to know more. You consent to our
cookies if you xxx. codeforces.com
continue - Dynamic Programming Type
to use our website.

https://www.codechef.com/certification/data-structures-and-algorithms/prepare#foundation 13/15
12/25/23, 2:45 AM Learn Data Structures and Algorithms | DSA tutorials | CodeChef

19. Sieve of Eratosthenes

a. Resources:

i. codechef.com - Sieve Methods

b. Practice Problems

i. spoj.com - TDKPRIME
ii. spoj.com - TDPRIMES
iii. spoj.com - ODDDIV ;(sieve + binary search)
iv. spoj.com - NDIVPHI ;O(N) prime testing algorithm)
v. spoj.com - DIV ;(divisor sieve)
vi. codechef.com - LEVY, editorial
vii. codechef.com - PRETNUM, editorial
viii. codechef.com - KPRIME, editorial
ix. codechef.com - DIVMAC, editorial (segment tree with sieve)
x. codechef.com - PPERM, editorial ;(a bit advanced sieve application)

20. General

a. Stanford Algorithm 1
b. Stanford Algorithm 2

Past Test:
Practice on the exact problems which had appeared in a past Advanced level exam:

1. Test 1 - https://www.codechef.com/ALPAST01

Mock Test:
1. Test 1 - https://www.codechef.com/ADMOCK01
2. Test 2 - https://www.codechef.com/ADMOCK02

Note: These links have been curated to help the community learn Data structures and algorithms. But if you own some of the material
linked to, and you would not like them to be here, please contact us, and we will remove it.

Learning Resources Programming Tools

Learning courses Online IDE

Practice Problems Coding Contests

CodeChef Discuss Host Rated Contest

FAQ's Problem Setting

We use cookies to improve your experience and for analytical purposes. Read our Privacy Policy and Terms to know more. You consent to our
cookies if you continue to use our website.

https://www.codechef.com/certification/data-structures-and-algorithms/prepare#foundation 14/15
12/25/23, 2:45 AM Learn Data Structures and Algorithms | DSA tutorials | CodeChef
More Usage Policy

CodeChef For Colleges Privacy policy

Contact Us Terms

Code Of Conduct Other Policy

User Ranklist

Follow Us
www.codechef.com

We use cookies to improve your experience and for analytical purposes. Read our Privacy Policy and Terms to know more. You consent to our
cookies if you continue to use our website.

https://www.codechef.com/certification/data-structures-and-algorithms/prepare#foundation 15/15

You might also like