1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Nikolay [14]
3 years ago
6

My friend Leo wants to have an emergency plan for his final exams on University of Southern Algorithmville. He has N subjects to

prepare for, and for each subject, his score is determined only by the time he spends on learning. It’s not surprising that Leo found out he actually spent zero time on preparing before.At least he knows when he can start learning all of these subjects. For each subject i there is a start time si when he can get all materials ready to start learning. And there is also a ending time ei for each subject, when his learning materials expire and he can’t learn anymore. We know that si and ei are integers, and Leo can only dedicate to a single subject within each time phase.In Universtiy of Southern Algorithmville (USA), a student’s total grade is the minimum grade among all subjects. Leo wants you to help him find out the best outcome. Given N subjects and their time intervals (si,ei), design an algorithm to find out the maximum time possible for the least prepared subject. Prove the correctness of your algorithm. (Hint: It’s not enough to use the network flow algorithm alone to determine the answer.)
Computers and Technology
1 answer:
Brut [27]3 years ago
8 0

Answer:

Greedy algorithm

Explanation:

Greedy is an algorithmic paradigm that builds up a solution piece by piece, always choosing the next piece that offers the most obvious and immediate benefit. Greedy algorithms are used for optimization problems. An optimization problem can be solved using Greedy if the problem has the following property: At every step, we can make a choice that looks best at the moment, and we get the optimal solution of the complete problem.

If a Greedy Algorithm can solve a problem, then it generally becomes the best method to solve that problem as the Greedy algorithms are in general more efficient than other techniques like Dynamic Programming. But Greedy algorithms cannot always be applied. For example, the Fractional Knapsack problem (See this) can be solved using Greedy, but 0-1 Knapsack cannot be solved using Greedy.

The following are some standard algorithms that are Greedy algorithms.

1) Kruskal’s Minimum Spanning Tree (MST):

In Kruskal’s algorithm, we create an MST by picking edges one by one. The Greedy Choice is to pick the smallest weight edge that doesn’t cause a cycle in the MST constructed so far.

2) Prim’s Minimum Spanning Tree:

In Prim’s algorithm also, we create an MST by picking edges one by one. We maintain two sets: a set of the vertices already included in MST and the set of the vertices not yet included. The Greedy Choice is to pick the smallest weight edge that connects the two sets.

3) Dijkstra’s Shortest Path:

Dijkstra’s algorithm is very similar to Prim’s algorithm. The shortest-path tree is built up, edge by edge. We maintain two sets: a set of the vertices already included in the tree and the set of the vertices not yet included. The Greedy Choice is to pick the edge that connects the two sets and is on the smallest weight path from source to the set that contains not yet included vertices.

4) Huffman Coding:

Huffman Coding is a loss-less compression technique. It assigns variable-length bit codes to different characters. The Greedy Choice is to assign the least bit length code to the most frequent character.

The greedy algorithms are sometimes also used to get an approximation for Hard optimization problems. For example, the Traveling Salesman Problem is an NP-Hard problem. A Greedy choice for this problem is to pick the nearest unvisited city from the current city at every step. These solutions don’t always produce the best optimal solution but can be used to get an approximately optimal solution.

You might be interested in
Font changes can only be applied on a word-by-word basis.<br><br><br> A.True<br><br><br> B.False
Sergio039 [100]
B. False, it doesnt only have to be applied word by word


3 0
3 years ago
Read 2 more answers
HELP FAST PLEASE
never [62]

Answer:

I am not sure can you explain a little more

7 0
3 years ago
Read 2 more answers
All of the different devices on the internet have unique addresses.
Sindrei [870]

Answer:

Yes

Explanation:

Just like a human fingerprint, no 2 computers are the same.

3 0
3 years ago
Della is a special education teacher. In her classroom, students may use many different types of utility programs to make it eas
Assoli18 [71]

Answer:

accessibility

Explanation:

Della is a special education teacher. In her classroom, students may use many different types of utility programs to make it easier for them to use their computers. This category of utility software is known as accessibility.

6 0
3 years ago
Read 2 more answers
Anna discovers malware on her computer. After being downloaded, the malware self-activated and replicated itself and infected th
Tresset [83]

Answer:

A.

Explanation:

The malware that replicates itself and can infect the entire system is a worm.

A worm is a type of malware that gets self-activated and replicated. This worm spreads rapidly over the computer system and can corrupt all the files and the entire system.

A worm is a standalone application and does not require action from humans.

Therefore, option A is correct.

6 0
3 years ago
Other questions:
  • Write a class named Taxicab that has three **private** data members: one that holds the current x-coordinate, one that holds the
    9·1 answer
  • What is the name of the port that you plug an ethernet network cable into?
    6·1 answer
  • Your employer gives you a list of all chemicals in the entire building and the location of the SDS collection, and he asks you t
    15·2 answers
  • Plot element is typically the turning point in the most intense moment of a story
    8·1 answer
  • Contains the instructions your computer or device needs to run programs and apps
    5·1 answer
  • Implementations <br> in c++ programming when finding lcm and gcd in c++​
    12·1 answer
  • 20 POINTS!!! I NEED HELPP
    6·2 answers
  • Search the link <br><br> gKuJXd3zYDc<br><br> Subscribe I have a vid premiering soon
    11·1 answer
  • We love silky. she is very honest join this by using conjunction ​
    11·2 answers
  • Chris is working with other employees on a worksheet. the other employees have made comments, but they are not visible.
    11·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!