Awesome Open Source
Awesome Open Source

Welcome to the interview resources (footsteps) by FnPlus Community to crack your dream company

This repository is a part of HacktoberFest-an event organised by DigitalOcean. You are requested to create your profile using the above link to be a part of it.

This repository contains examples of various algorithms written on different programming languages...




  1. Have a look at open issues. They contain the list of algorithms/DS we plan to be implemented. Pick an unassigned issue.
  2. You can also create a new issue for an algorithm that is not in the list.
  3. Make sure you are assigned for the issue.
  4. Fork the repo!
  5. Clone the forked repository to local system.
  6. Create your feature branch: git checkout -b my-new-feature
  7. Be sure to not include any compiled binaries in the patch.
  8. Commit your changes: git commit -am 'Add some feature'. Go through Commit Messages guidelines
  9. Push to the branch: git push origin my-new-feature While sending a PR make sure you follow one issue per PR rule.
  10. Submit a pull request 😄

See Extended Contributing Guidelines

Important Data Structures

Data Structure C CPP Java Python
Dynamic array
Singly Linked List
Double Linked List
Circular Linked List
Hash Tables
Fibonacci Heaps
Disjoints Sets
Adjacency matrix
Priority Queue

Important Algorithms

Maths C CPP Java Python
Euclidean GCD
Fibonacci series
Pallindrome number
Perfect number
Magic number
Polite number
Sieve of Eratosthenes
Modular exponentiation
Searching and Sorting C CPP Java Python
Merge Sort
Insertion Sort
Counting Sort
Radix Sort
Bubble Sort
Heap Sort
Selection Sort
Linear Search
Binary Search
Tree traversal C CPP Java Python
Pre-Order Traversal
Post-Order Traversal
In-Order Traversal
Binary Search Tree
Height of the Tree
Depth of the Tree
AVL Tree
Spanning Tree
Segment Tree
Fenwick Tree
Graph Traversal C CPP Java Python
Breadth First Search
Depth First Search
Topological Sort
Kruskals Algorithms
Prim's Algorithms
Belmon Ford Algorithms
Floyd-Warshall Algorithm
Dijkstra's Algorithm
Dynamic Programming C CPP Java Python
Edit distance
Fractional Knapsack
Longest Increasing Sequence
Kadane's Algorithms

Curated resources (Footsteps) by FnPlus Community

Coding Practices:

Video Lectures:

Interview Books:





System Design:

Computer Science News:

Sample Run:

Language Steps
python []
gcc [filename.c]
./a.out # unix
a.exe # windows
g++ [filename.cpp]
./a.out # unix
a.exe # windows
javac []
java [filename]
go build [filename.go]


Feel free to contact us at our E-mail, we'd be happy to help! Check out our app called footsteps which helps you keep a log of your online learning and inspire others to follow it!


Only project maintainers should merge a PR. Other members can add their reviews to a PR but the merging should be done by only a project maintainer.


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
c-plus-plus (17,027
algorithms (392
google (370
data-structures (344
facebook (248
interview (229
interview-questions (177
competitive-programming (91
interview-preparation (82
hackerrank (40
coding-interviews (38
hacktoberfest2019 (31

Find Open Source By Browsing 7,000 Topics Across 59 Categories