Self-Made Projects

A list of projects made by me. Several other projects have been initiated and still under pipeline.

View the Project on GitHub gbelwariar/Self-Made-Projects

Fork me on GitHub

Self-Made Projects

A list of projects made by me. Several other projects have been initiated and still under pipeline.

Some of the most interesting and successful projects were made in an attempt to have "fun" such as - A* Search Algorithm, Minesweeper, Tic-Tac-Toe etc.

Many of these projects are aimed to "play" with unconventional data structures (like- Cartesian Tree, Sparse Set) and some of them are "serious" algorithms designed just to get a slight performance edge over the existing popular algorithms (like- Tarjan Offline Least Common Ancestor Algorithm whose analysis involves inverse Ackermann function).

Awards Won

These projects won me the title of Geek of the Month, for June 2016 given by GeeksforGeeks

Projects Timeline

These projects were successfully implemented continuously from [February 2016 - Current] and published on GeeksforGeeks

Credits

These projects were implemented, tested and compiled together by Rachit Belwariar.
One can also find all my Test Case Generator Programs and Sample Test Cases here

Phases of the Projects

1. Requirements - Any C/C++ Compiler would work.
2. Design - The projects are well commented and each project is accompanied with its respective Project Manual for convenience of the readers.
Also read the Description.md file associated with all the projects to get the link to the published projects.
3. Implementation - All projects are implemented using C/C++. I have planned to implement them in other languages like-Python in near future.
4. Testing/Debugging - Several tests have been run on all the projects by generating random test cases. The test-case generators are included with their respective projects.
One can also find all my Test Case Generator Programs and Sample Test Cases here
Note- Minesweeper and Tic-Tac-Toe have in-built test case generators. Hence no test case generators have been included with them.
5. Maintenance -The projects are maintained from time to time. Majority of my projects have been published on GeeksforGeeks and is always at check by the heavy traffic of its readers.
Any suggestions to improve the projects are welcome on gbelwariar@gmail.com.

My 10 Best Projects (in no specific order)

  1. A* Search Algorithm
  2. Minesweeper
  3. Tic-Tac-Toe
  4. Tarjan Offline Least Common Ancestor Algorithm
  5. Sparse Set Data Structure
  6. Cartesian Tree Data Structure and Cartesian Tree Sorting
  7. Introsort-Inside of C++'s sort() Function
  8. Calendar
  9. Longest Common Extension(LCE) - Segment Tree Method
  10. Mother Vertex of a Graph

All Projects

  1. 2D-Binary Indexed Tree Fenwick Tree
  2. A-Star Search Algorithm
  3. Almost Prime Numbers
  4. Base64 Decoding (Strings)
  5. Base64 Encoding (Strings)
  6. Cartesian Tree Sorting
  7. Cartesian Tree
  8. Change Gender Of A String
  9. Combinations with Repetitions
  10. Combinatorial Game Theory - Game of Nim
  11. Combinatorial Game Theory - Nimbers and Mex
  12. Combinatorial Game Theory - Sprague-Grundy Theorem
  13. My Favourite Dynamic Programming Problem
  14. Four File-Handling Hacks Which Every Programmer Must Know
  15. Gnome Sort - A Stupid One
  16. Calendar
  17. Introsort-Inside of C++'s sort() Function
  18. Iterative Deepening Depth-First Search(IDDFS)/Iterative Depth-First Search(IDFS)
  19. K-Core of a Graph
  20. Longest Common Increasing Subsequence(LCIS)
  21. Longest Common Extension(LCE) - Naive Method
  22. Longest Common Extension(LCE) - Reduction to RMQ
  23. Longest Common Extension(LCE) - Segment Tree
  24. Longest Common Prefix(LCP) - Binary Search
  25. Longest Common Prefix(LCP) - Character-by-Character Matching
  26. Longest Common Prefix(LCP) - Divide and Conquer
  27. Longest Common Prefix(LCP) - Using Trie
  28. Longest Common Prefix(LCP) - Word-by-Word Matching
  29. Maximum Rectangular Sub-Matrix having all 1's
  30. Minesweeper
  31. Mother Vertex of a Graph
  32. Number Of Factors Of a Factorial
  33. Number of Subarrays With Even Sum
  34. Odd-Even Sort
  35. One Time Password
  36. Pangram Checker
  37. Sleep Sort - The King of Laziness Sorting While Sleeping
  38. Sparse Set
  39. String-Hashing - Substring Palindrome Queries
  40. Tarjan's Offline Least Common Ancestor(LCA) Algorithm
  41. Tic-Tac-Toe
  42. Number of Ways to Traverse N-ary Tree