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
________ employees state-of-the-art computer software and hardware to help people work better together.
natulia [17]

The correct answer is collaborative computing

Using state-of-the-art computer software and hardware to help people work better together is known as collaborative computing. Goal setting and feedback will be conducted via Web-based software programs such as eWorkbench, which enables managers to create and track employee goals.

6 0
3 years ago
A raised dot (ú) shows where the enter key was pressed. true or false.
Yakvenalex [24]
False i doesnt  shows anything like this


6 0
3 years ago
Make sure to read all of these specifications carefully. Write a function, named array_shifter, that accepts an array of doubles
rosijanka [135]

Answer:

import java.util.Arrays;

public class num2 {

   public static void main(String[] args) {

//Create and initialize the first array        

double [ ]arr = {3.5, 5.6, 4.5, 6.7};

// Get the length of the array

       int n = arr.length;

      //Call the method Array Shifter inside the output statement

       System.out.println(Arrays.toString(array_shifter(arr,n)));

   }

   static double [] array_shifter(double [ ] doubleArray, int n){

       double [] narr = new double[n+1];

       //Loop through from index 1

       for(int i =0; i<narr.length-1; i++){

           narr[i] = doubleArray[i];

       }

       //Put a new element at the last index

       narr[narr.length-1] = 1.1;

       return narr;

   }

}

Explanation:

This is implemented in Java

Read detailed comments in the solution

The method array_shifter creates a new array that is one element larger than the array it received as argument and returns it

6 0
3 years ago
Michael Holliday is a business systems analyst who is working on a feasibility study for a new​ e-911 system for the city of Mem
postnew [5]

Answer:

E

Explanation:

The requirement analysis phase is a very key vital phase of the system life cycle in which a system designer sees the future result of his input in the system he intends to design, the requirement analysis clearly state the result of any system in progress design and proccess stage

7 0
3 years ago
How do networks help protect data?
klasskru [66]
Network Security. Network Security protects your network from common security threats like viruses, worms, trojans, spyware, adware, identity theft, denial of service attacks and more. To protect yourself you could install an anti-virus/anti-spyware software like Kaspersky or Malwarebytes.
7 0
3 years ago
Other questions:
  • Sending a employee an email with important criticism represents a problem which communication process
    9·1 answer
  • You can apply several different worksheet themes from which tab?
    10·2 answers
  • "Create a Matlab Scrapt that will take the a Matrix A and Matrix B (of AX=B), then calculate the Determinant of Matrix A, Invers
    5·1 answer
  • Why does everyone refer to dogs as being loyal
    11·2 answers
  • what are the benefits of VolP? select all that apply. A:cheaper printings B:clearer calls C: faster download D: increased effici
    11·2 answers
  • If you do not use the mini toolbar, it remains on the screen. _______________​ Group of answer choices True False
    8·1 answer
  • A TCP ________ segment is a request to the other transport process to close a connection. ACK FIN SYN CLS
    15·1 answer
  • How many questions have you seen so far other than this one?
    10·2 answers
  • When you heat a pot on a stove, the handle gets warm. which type of heat transfer is possible
    10·2 answers
  • Brainly Question
    14·2 answers
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!