https://github.com/algokun/competitive-programming
All my submissions of various problems from various sources
https://github.com/algokun/competitive-programming
Last synced: over 1 year ago
JSON representation
All my submissions of various problems from various sources
- Host: GitHub
- URL: https://github.com/algokun/competitive-programming
- Owner: algokun
- Created: 2020-01-14T18:11:33.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-01-18T17:16:34.000Z (over 6 years ago)
- Last Synced: 2025-01-21T05:27:58.755Z (over 1 year ago)
- Language: Python
- Size: 334 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Data Structures
Learn how to code and master algorithms and data structures. These are some of the programs from different sources that are found to be good.
## How to get started
[](https://www.youtube.com/watch?v=IIKTGg5AKkY)
This is a video from [rachit jain](https://www.youtube.com/channel/UC9fDC_eBh9e_bogw87DbGKQ), i found it to be consistent and very useful.
### Learning Resources
I have some of the learning resources from [Codechef](codechef.com)
1. Asymptotic analysis (Big-O notation).
- 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
2. Arrays
- Resources
- codechef.com - Data Structure Tutorial: Array
- cs.cmu.edu - Arrays
- geeksforgeeks.org - Arrays Data Structure
- Practice Problems
- codechef.com - LECANDY, editorial
- codechef.com - CNOTE, editorial ;
- codechef.com - SALARY, editorial
- codechef.com - CHN15A, editorial
- codechef.com - RAINBOWA, editorial
- codechef.com - FRGTNLNG, editorial
- codechef.com - COPS, editorial
3. Strings
- 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
- codechef.com - CSUB, editorial
- codechef.com - LAPIN, editorial
4. Stack and Queue
- 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
5. Basic math operations (addition, subtraction, multiplication, division, exponentiation)
- codechef.com - A tutorial on Fast Modulo Multiplication
6. Euclid’s GCD Algorithm
- Resources
- youtube.com - Mycodeschool video
- khanacademy.org - The Euclidean Algorithm
- geeksforgeeks.org - Example program to find gcd in c++:
7. Prime Numbers, divisibility of numbers
- 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
8. Basic Recursion
- 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
- codechef.com - NOKIA, editorial
- codechef.com - TRISQ, editorial
- codechef.com - LFSTACK, editorial
- codechef.com - FICE, editorial
9. Greedy Algorithms
- 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. Dynamic programming (Basic DP)
◦ 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 (Contains some Advanced topics as well)
• Dynamic Programming I
• Dynamic Programming II
• Dynamic Programming III
• 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. Naive string searching
◦ Resources
- geeksforgeeks.org - Naive Pattern Searching
12. Sorting
- khanacademy.org
- visualgo.net
- iarcs.org.in
- Merge sort
- youtube.com - Merge sort algorithm
- Practice Problems
codechef.com -MRGSRT
- Quick sort
- youtube.com - Quicksort algorithm
- Practice Problems
codechef.com -TSORT
◦ Counting sort
- geeksforgeeks.org - Counting Sort
- Practice Problems
• codechef.com - TACHSTCK, editorial
• codechef.com - STICKS, editorial
13. Binary Search
- 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)
◦ 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
- Past Test - https://www.codechef.com/FLPAST01
- Test 1 - codechef.com/FLMOCK01
- Test 2 - codechef.com/FLMOCK02
- Test 3 - codechef.com/FLMOCK03
- Test 4 - codechef.com/FLMOCK04