jlisok / problem_solving

This project is a showcase of problem-solving skills and consists of various algorithms from different areas, including graphs, sorting algorithms, and binary trees. The algorithms are of different difficulty levels and have been implemented using Java.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Problem-solving Showcase

This project is a showcase of problem-solving skills and consists of various algorithms from different areas, including graphs, sorting algorithms, and binary trees. The algorithms are of different difficulty levels and have been implemented using Java.

Highlights of implemented algorithms

Sorting Algorithms

  • Bubble Sort
  • Counting Sort
  • Insertion Sort
  • Merge Sort
  • Quick Sort

Binary Tree Algorithms

  • Binary Search Tree (BST) Creation
  • Preorder Traversal
  • Inorder Traversal
  • Postorder Traversal
  • Level-order Traversal

Graph Algorithms

  • Breadth-First Search (BFS)
  • Depth-First Search (DFS)

Other

  • stack problems
  • queue problems
  • string processing (palindromes, common prefixes, duplicate letter removal)

Technical Stack Used

The algorithms have been implemented using the following:

  • Java 17
  • Junit 5
  • Mockito
  • Gradle 7.4

Getting Started

To run the algorithms, you need to have one of the above programming languages installed on your system. Clone the repository to your local machine.

Contributing

Code reviews to this project are welcome. If you wish to contribute, please add new issue to this project. Happy to discuss any suggestions and implement improvements.

License

This project is published under CreativeCommons licence. You are welcome to use it as a starting point for your own implementations.

About

This project is a showcase of problem-solving skills and consists of various algorithms from different areas, including graphs, sorting algorithms, and binary trees. The algorithms are of different difficulty levels and have been implemented using Java.


Languages

Language:Java 100.0%