Skip to content

Albez0-An7h/Java

 
 

Repository files navigation

The Algorithms - Java 🚀

Build Status Code Coverage Join our Discord! Gitpod Ready-to-Code

Open in Gitpod

💻 **You can run, edit, and contribute to the algorithms right in your browser using Gitpod.io!** Start coding with a single click: Open in Gitpod


📚 All algorithms are implemented in Java (for educational purposes)

These implementations are intended for learning. As such, they may be less efficient than the Java standard library.

🤝 Contribution Guidelines

Please read our Contribution Guidelines before contributing to the project. All contributions are welcome! 🚀

🧠 Algorithms

Explore the complete list of algorithms in our Directory.


🛠️ Getting Started

  1. Fork the repository 🍴
  2. Clone it to your local machine 💻
  3. Implement or improve algorithms 🧑‍💻
  4. Submit a pull request 🛠️

What is an Algorithm? 🧮

The word Algorithm means ” A set of finite rules or instructions to be followed in calculations or other problem-solving operations ”
Or
” A procedure for solving a mathematical problem in a finite number of steps that frequently involves recursive operations”.


What is Algorithms used for ⚙️:

Algorithms form the basis of computer programming and are used to solve problems ranging from simple sorting and searching to complex tasks such as artificial intelligence and machine learning.
Algorithms are necessary for solving complex problems efficiently and effectively.


Types of Algorithm 🤖:

1)Search engine algorithm:

This algorithm takes search strings of keywords and operators as input, searches its associated database for relevant webpages and returns results.

2)Encryption algorithm:

This computing algorithm transforms data according to specified actions to protect it. A symmetric key algorithm, such as the Data Encryption Standard, for example, uses the same key to encrypt and decrypt data. If the algorithm is sufficiently sophisticated, no one lacking the key can decrypt the data.

3)Greedy algorithm:

This algorithm solves optimization problems by finding the locally optimal solution, hoping it is the optimal solution at the global level. However, it does not guarantee the most optimal solution.

4)Recursive algorithm:

This algorithm calls itself repeatedly until it solves a problem. Recursive algorithms call themselves with a smaller value every time a recursive function is invoked.

5)Backtracking algorithm:

This algorithm finds a solution to a given problem in incremental approaches and solves it one piece at a time.

6)Divide-and-conquer algorithm:

This common algorithm is divided into two parts. One part divides a problem into smaller subproblems. The second part solves these problems and then combines them to produce a solution.

7)Dynamic programming algorithm:

This algorithm solves problems by dividing them into subproblems. The results are then stored to be applied to future corresponding problems.

8)Brute-force algorithm:

This algorithm iterates all possible solutions to a problem blindly, searching for one or more solutions to a function.

9)Sorting algorithm:

Sorting algorithms are used to rearrange data structures based on a comparison operator, which is used to decide a new order for data.

10)Hashing algorithm:

This algorithm takes data and converts it into a uniform message with a hashing.

11)Randomized algorithm:

This algorithm reduces running times and time-based complexities. It uses random elements as part of its logic.


Uses of Algorithms in real life 👀:

1)Search engines

Google's / Youtube's search algorithm sorts through billions of web pages or videos to present information to users.

2)Transportation

GPS systems use algorithms to manage transportation systems, including ride sharing and shipping. Self-driving cars use deep learning algorithms to analyze the roads and vehicles around them to make decisions and predict accidents.

3) Image processing

Computer algorithms are used to enhance the properties of digital images in smart phones.

4)Environmental conservation

Algorithms can analyze data to predict natural disasters, model climate scenarios, and optimize resource usage.

5)Classifying Objects

Classification algorithms are used to predict a categorical output. For example, a classification algorithm could be used to predict whether an email is spam or not.


Thank you for contributing! 💖

About

All Algorithms implemented in Java

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.9%
  • Dockerfile 0.1%