Skip to content

Dive into this stash of algorithms and data structures – it's like a treasure map to the heart of computational solutions! 🚀 This repository houses the code and documentation I've implemented as part of my algorithms class.

Notifications You must be signed in to change notification settings

DaianaArena/java-algorithms-data-structures

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Java Algorithms and Data Structures

About the project:

Welcome to the Java Algorithms and Data Structures project repository! This repository houses the code and documentation for the algorithms and data structures I've implemented as part of my algorithms class. The primary goal of this project is to showcase my understanding of fundamental algorithms and their application in solving various computational problems.

In this project, I delve into the world of algorithms and data structures using Java. I have implemented well-known algorithms and data structures, providing both theoretical explanations and practical code examples. Through this project, I aim to demonstrate my knowledge in algorithmic problem-solving and my ability to create efficient and organized code.

About me:

You can come around to my Linkedin to say hi :grin: ♥

Before Installation - System Requirements

Make sure your development environment meets the following requirements:

  • Download and install the Java JDK (version >=8).
  • MacOS, Windows (including WSL), and Linux are supported. Make sure to choose the appropriate version of the Java JDK for your operating system.

Getting Started

Open a command prompt or terminal and navigate to "java" directory and write

 javac app.java 

Key features

Algorithms:

In this section, I have implemented a variety of algorithms, including (but not limited to):

  • Sorting algorithms: Bubble Sort, Quick Sort, Merge Sort.
  • Search algorithms: Binary Search, Depth-First Search, Breadth-First Search.
  • Greedy algorithms: Knapsack Problem, Dijkstra's Algorithm.
  • Dynamic programming: Fibonacci Sequence, Longest Common Subsequence.
  • Each algorithm is accompanied by its theoretical overview and Java code implementation, making it easy to understand and use.

Data Structures:

Here, I present the implementation of essential data structures, such as:

  • Arrays, Linked Lists, and Stacks.
  • Queues and Priority Queues.
  • Hash Tables and Binary Trees.
  • Graphs and Heaps.
  • I provide explanations of the purpose and functionality of each data structure, followed by Java code demonstrating their usage.

Contributions:

Contributions to this project are welcome! If you'd like to add new algorithms, enhance existing code, or improve documentation, please follow the standard GitHub workflow:

  1. Fork the repository.
  2. Create a new branch for your contribution.
  3. Make your changes and commit them.
  4. Push your changes to your fork.
  5. Create a pull request describing your changes.

Thank you for visiting my Java Algorithms and Data Structures project! Your feedback and suggestions are greatly appreciated.

About

Dive into this stash of algorithms and data structures – it's like a treasure map to the heart of computational solutions! 🚀 This repository houses the code and documentation I've implemented as part of my algorithms class.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages