Skip to content

Greedy Algorithm Implementations and Explanations #4493

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
SanketPatil7467 opened this issue Oct 1, 2023 · 2 comments
Closed

Greedy Algorithm Implementations and Explanations #4493

SanketPatil7467 opened this issue Oct 1, 2023 · 2 comments

Comments

@SanketPatil7467
Copy link

What would you like to Propose?

Addition of Greedy Algorithms to repository.

I propose the addition of a collection of Greedy Algorithms to the repository. Greedy algorithms are fundamental in solving various optimization problems by making locally optimal choices at each step, ultimately aiming for a global optimum.

There are many greedy algorithms such as

  1. Activity Selection
  2. Fraction Knapsack
  3. Job Sequencing
  4. Dijkstra's Algorithm
  5. Merge Interval
  6. Greedy Coin Change

I would like to give a solution that provides an implementation of above greedy algorithms.

I would like to work on this issue . Please assign it to me.

Issue details

Algorithms and Approaches

  1. Activity Selection:

The Activity Selection greedy approach selects activities based on their finish times, maximizing the number of non-overlapping activities. It's important for efficient scheduling and resource allocation in various domains, optimizing the utilization of limited resources.

  1. Fraction Knapsack:

The Fractional Knapsack greedy approach prioritizes items based on their value-to-weight ratio, optimizing value while considering weight constraints. It's crucial for efficient resource allocation and decision-making

  1. Job Sequencing:

Job Sequencing greedy approach prioritizes jobs based on their deadlines and profits, optimizing profit within deadline constraints. It's crucial for efficient task scheduling and maximizing gains in job-oriented scenarios.

  1. Dijkstra's Algorithm:

Dijkstra's Algorithm, a greedy approach, finds the shortest path in weighted graphs. It's crucial for optimizing network routes, transportation, and resource allocation, ensuring efficient and timely traversal through interconnected systems.

  1. Merge Interval:

The Merge Interval greedy approach combines overlapping intervals efficiently, vital for scheduling, event management, and resource allocation. It optimizes interval consolidation, simplifying tasks and improving organizational efficiency.

  1. Greedy Coin Change:

The Greedy Coin Change approach selects the largest coin denomination to minimize the number of coins needed for a target amount. It's crucial for optimizing change-making processes, transactions, and vending machines

Additional Information

These proposed algorithm implementations are highly valuable for efficiently solving a variety of competitive programming questions. By incorporating these well-established and effective algorithms, we aim to enhance the repository's utility and empower developers to tackle algorithmic challenges with optimized and well-structured solutions.

@Pratham86
Copy link

Hi there..
Is this issue still open??
I am interested in working..

@sahill-chand
Copy link

@SanketPatil7467 I would like to contribute to this project.Please assign me this project.I will complete this project in just one day by using comments,appropriate variable names and in most efficient way.Greatly looking ahead to work with you.

Vineetttt added a commit to Vineetttt/TheAlgorithms-JAVA that referenced this issue Oct 1, 2023
Vineetttt added a commit to Vineetttt/TheAlgorithms-JAVA that referenced this issue Oct 1, 2023
@siriak siriak closed this as completed in 535230a Oct 3, 2023
SanketPatil7467 added a commit to SanketPatil7467/Java that referenced this issue Oct 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants