Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 04be907

Browse files
Update README.md
1 parent a7dfab5 commit 04be907

File tree

1 file changed

+152
-26
lines changed

1 file changed

+152
-26
lines changed

‎README.md

Lines changed: 152 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,159 @@
1-
# Competitive-Programming
1+
![cp](https://user-images.githubusercontent.com/25124428/66685841-3680af80-ec9b-11e9-8c86-7044f30854b4.png)
22

3-
* hackerrank
4-
* leetcode
5-
* Project Euler
6-
* Techgig Problems
73

8-
## Interview Footsteps
9-
This repository contains examples of various algorithms written on different programming languages...
10-
11-
# Interview resources
12-
Various algorithms written on different programming languages...
4+
# Competitive-Programming Preparation
5+
_Ongoing Project_
136

7+
This program developed to learn Algorithms for using in Competitive Prorgamming, **but can be used for:**
8+
- Competitive Programming
9+
- Practicing for Interviews
10+
- Improving Algorithmic Thinking
11+
- Practicing for College Class
12+
- FUN
1413

15-
## Important Data Structures
16-
17-
| Data Structure | C | CPP | Java | Python |
18-
|:----------------------------------------------------------------------------------------------- |:-------------------------------------:|:-------------------------------------:|:-------------------------------------:|:-------------------------------------:|
19-
| [Dynamic array](https://en.wikipedia.org/wiki/Dynamic_array) | | | | |
20-
| [Stack](https://en.wikipedia.org/wiki/Stack_(abstract_data_type)) | | | | |
21-
| [Singly Linked List](https://en.wikipedia.org/wiki/Linked_list) | | | | |
22-
| [Double Linked List](https://en.wikipedia.org/wiki/Doubly_linked_list) | | | | |
23-
| [Circular Linked List](https://en.wikipedia.org/wiki/Linked_list) | | | | |
24-
| [Hash Tables](https://en.wikipedia.org/wiki/Hash_table) | | | | |
25-
| [Heap](https://en.wikipedia.org/wiki/Heap_(data_structure)) | | | | |
26-
| [Fibonacci Heaps](https://en.wikipedia.org/wiki/Fibonacci_heap) | | | | |
27-
| [Disjoints Sets](https://en.wikipedia.org/wiki/Stack_(abstract_data_type)) | | | | |
28-
| [Adjacency matrix](https://en.wikipedia.org/wiki/List_of_data_structures#Hash-based_structures) | | | | |
29-
| [Queue](https://en.wikipedia.org/wiki/Queue_(abstract_data_type)) | | | | |
30-
| [Priority Queue](https://en.wikipedia.org/wiki/Priority_queue) | | | | |
14+
**The course requires:**
15+
- To know at least one programming language well. (_You have to be able to use the language efficiently._)
16+
- You have to be familiarize with some of the basic Data Structures (Array, Stack, Queue, etc.) (_Although if you don't know some of them, you may learn it when you come accross._)
17+
18+
###### _PS: I am saying "Any programming language" but in this course mostly we used Java and C++ some C. But still you can follow the curriculum without any knowledge of these languages_
19+
20+
## Resources
21+
22+
In this course we will use some tools for the questions. As I mentioned above all of these questions already exists, we just highlight them so that you can reach better. Here are the websites/tools that we use through this course:
23+
24+
- [Leetcode](https://leetcode.com)
25+
- [Spoj](http://www.spoj.com)
26+
- [Hackerrank](https://www.hackerrank.com/domains)
27+
- [Topcoder](https://www.topcoder.com)
28+
- [Codeforces](http://codeforces.com)
29+
- [Lightoj](http://www.lightoj.com)
30+
- [ACM-Timus](http://acm.timus.ru)
31+
32+
I gave these tools name because you may not be able to submit your solution or display the question for some websites. It would be better if you just sign up. Although it is not neccesary...
33+
34+
## Topics
35+
36+
Here are the topics we included in this curriculum.
37+
38+
### DS
39+
40+
- Stacks
41+
- Queues
42+
- Priority queue
43+
- Hashmap
44+
- Linked List
45+
- Trees
46+
- Heaps
47+
- Advanced Trees
48+
- Tries
49+
- Segment trees
50+
- Fenwick tree or Binary indexed trees
51+
- RMQ
52+
- SQRT Decomposition
53+
- Disjoint Data Structure
54+
- C++ STL (optional)
55+
56+
### Algo
57+
58+
- Number Theory
59+
- Prime Numbers (Sieve of Eratosthenes)
60+
- GCD and LCM Euclid’s Algorithm
61+
- Modular Exponentiation
62+
- Long arithmetic (Multi, Add)
63+
- Efficient Prime Factorization
64+
65+
- Combinatorics(Probability-Combinations-Permutations-Matrix..)
66+
67+
- Computational geometry
68+
- Primitive Operations
69+
- Intuition
70+
- Polygon Inside, Outside
71+
- Implementing CCW
72+
- Immutable Point ADT
73+
- Convex Hull
74+
- Closest pair problem
75+
- Line intersection
76+
77+
- Sorting
78+
- QuickSort
79+
- Counting Sort
80+
- Merge Sort
81+
82+
- Searching
83+
- Binary Search
84+
- Ternary Search
85+
86+
- Graph Theory
87+
- Depth First Search (DFS)
88+
- Breadth First Search (BFS)
89+
- Dijkstra’s Shortest Path
90+
- Minimum Spanning Tree
91+
- Ford Bellman
92+
- Floyd Warshall
93+
- LCA (Lowest Common Ancestor)
94+
- Max Flow / Min Cut
95+
96+
- Dynamic programming
97+
- Knapsack
98+
- Matrix chain multiplication
99+
- Coin Change
100+
- Kadane
101+
- Longest increasing Subsequence (with RMQ)
102+
103+
- Strings
104+
- Z algorithm
105+
- Suffix Trees/Arrays
106+
- Knuth-Morris-Pratt Algorithm (KMP)
107+
- Rabin-Karp Algorithm
108+
- Hash
109+
110+
- Bit Manipulation
111+
112+
- Game theory
113+
- Nim game
114+
- Grundy numbers
115+
- Sprague-Grundy theorem
116+
117+
- **Optional Advanced Algorithms**
118+
- AVL Trees
119+
- Graph Coloring
120+
- Mo's Algorithm
121+
- Palindromic Tree
122+
- Heavy Light Decomposition
123+
- Dynamic Programming by Profile
124+
- Rod Cutting
125+
- Topological Sorting
126+
- DP with Bitmask - Dynamic Programming
127+
- Diobhantine Equation - Math
128+
- Flood Fill - Graph
129+
130+
131+
## Here is our Curriculum
132+
|Week|Topics|Optional Topics|
133+
| --- | --- | --- |
134+
|[**1.Week**](#)|<ul><li>Prime Numbers (Sieve of Eratosthenes)</li><li>Efficient Prime Factorization</li><li>Modular Exponentiation</li></ul><ul></ul>|
135+
|[**2.Week**](#)|<ul><li>GCD and LCM Euclid’s Algorithm</li><li>Long arithmetic (Multi, Sum, Div, Sub)</li></ul>|<ul><li>C++ STL:Vector</li><li>C++ STL:Pairs</li><li>C++ STL:Iterators</li></ul>|
136+
|[**3.Week**](#)|<ul><li>QuickSort</li><li>Counting Sort</li></ul>|<ul><li>C++ STL:String</li><li>C++ STL:Set</li><li>C++ STL:Map</li></ul>|
137+
|[**4.Week**](#)|<ul><li>Merge Sort</li><li>Binary Search</li></ul>|<ul><li>Ternary Search</li></ul>|
138+
|[**5.Week**](#)|<ul><li>Queue (DS)</li><li>Stack (DS)</li><li>Breadth First Search</li><li>Depth First Search</li></ul>|<ul><li>C++ STL: Queue</li><li>C++ STL: Stack</li></ul>|
139+
|[**6.Week**](#)|<ul><li>Linked List (DS)</li><li>Dijkstra’s Shortest Path</li><li>Minimum Spanning Tree (MST)</li><li>Floyd Warshall</li></ul><ul></ul>|
140+
|[**7.Week**](#)|<ul><li>Knapsack</li><li>Coin Change</li><li>Kadane</li></ul>|
141+
|[**8.Week**](#)|**Questions from previous topics**|
142+
|[**9.Week**](#)|<ul><li>Trees (DS)</li><li>Segment Trees (DS)</li><li>Range Minimum Query (RMQ)</li><li>Lowest Common Ancestor (LCA)</li></ul>|<ul><li>Topological Sorting</li></ul>|
143+
|[**10.Week**](#)|<ul><li>Ford Bellman</li><li>Max Flow / Min Cut</li><li>Longest increasing Subsequence (with RMQ)</li></ul>|<ul><li>Heavy Light Decomposition</li></ul>|
144+
|[**11.Week**](#)|<ul><li>Primitive Operations<ul><li>Intuition</li><li>Polygon Inside, Outside</li><li>Implementing CCW</li><li>Immutable Point ADT</li></ul></li><li>Convex Hull</li><li>Closest pair problem</li><li>Line intersection</li></ul>|
145+
|[**12.Week**](#)|<ul><li>Tries (DS)</li><li>Suffix Trees/Arrays (DS)</li><li>Knuth-Morris-Pratt Algorithm (KMP)</li><li>Rabin-Karp Algorithm</li></ul>|
146+
|[**13.Week**](#)|<ul><li>Heaps (DS)</li><li>Priority queue (DS)</li><li>Combinatorics</li></ul>|
147+
|[**14.Week**](#)|<ul><li>Z algorithm</li><li>Hash</li><li>Disjoint Data Structure (DS)</li></ul>|
148+
|[**15.Week**](#)|<ul><li>Matrix chain multiplication</li><li>SQRT Decomposition (DS)</li></ul>|<ul><li>Mo's Algorithm</li><li>Rod Cutting</li></ul>|
149+
|[**16.Week**](#)|**Questions from previous topics**|
150+
|[**17.Week**](#)|<ul><li>Nim game</li><li>Grundy numbers</li></ul>|
151+
|[**18.Week**](#)|<ul><li>Sprague-Grundy theorem</li><li>Fenwick tree or Binary indexed trees (DS)</li></ul>|
152+
|[**19.Week**](#)|<ul><li>Bit Manipulation</li></ul>|<ul><li>Palindromic Tree</li><li>AVL Trees</li></ul>|
153+
|[**20.Week**](#)|<ul><li>Heavy Light Decomposition</li><li>Dynamic Programming by Profile</li></ul>|<ul><li>Graph Coloring</li></ul>|
154+
155+
## Footsteps
156+
This repository contains examples of various algorithms written on different programming languages...
31157

32158
## Important Algorithms
33159

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /