Skip to content

rain1024/datastructures-algorithms-competitive-programming

Repository files navigation

Data Structures & Algorithms - Competitive Programming

This repository contains introductions and examples of many popular data structures and algorithms.

Each data structures and algorithm has its own separate article with related explanations and links for further reading (including ones to YouTube videos).

New Version 1.1.0 is released.

📙 Data Structures & Algorithms

A data structure is a data organization, management, and storage format that is usually chosen for efficient access to data. More recisely, a data structure is a collection of data values, the relationships among them, and the functions or operations that can be applied to the data.

Concept Programming Languages
Basic Concepts
Big-O cpp🐀 py🐍 ts
Bitwise cpp🐀 py🐍
Basic Data Structures
Array py🐍 ts
String py🐍
Linked List py🐍 ts
Stack py🐍 ts
Queue cpp🐀 py🐍 ts
Set cpp🐀 py🐍 ts
Hash Table cpp🐀 py🐍
Tree cpp🐀 py🐍
Algorithms
Sorting cpp🐀 py🐍
Searching py🐍
Brute force, Backtracking cpp🐀 py🐍
Greedy py🐍
Range Queries (prefix sum) cpp🐀
Dynamic Programming
Dynamic Programming (Basic) cpp🐀
Dynamic Programming (Intermediate) cpp🐀
Dynamic Programming (Advanced)
Graph
Graph representations java☕ ts
Graph traversal - Depth First Search (DFS) ts
Graph traversal - Breath First Search (BFS)
Graph Shortest Paths - Dijkstra's Algorithm
Topology Sort

Advanced Data Structures and Algorithms

Advanced Concept Programming Languages
Skiplist cpp🐀

🔆 Collections

Competitive Programming Events

  • 🎄 Advent of Code (2022)
  • 🔰 Google Code Jam (2022)

Courses & Specialization

Contributors

This project exists thanks to all the people who contributed.