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
sattari [20]
3 years ago
12

Your team at amazon is overseeing the design of a new high-efficiency data center at HQ2. A power grid need to be generated for

supplying power to N servers. All servers in the grid have to be connected such that they have access to power. The cost of connections between different servers varies. Assume that there are no ties, names of servers are unique, connections are directionless, there is at most one connection between a pair of servers, all costs are greater than zero, and a server does not connect to itself. Write an algorithm to minimize the cost of connecting all servers in the power grid. Input two arguments - num, an Integer representing number of connections. connectons, representing a list of connections where each element of the list consists of two servers and the cost of connection between the servers.
Computers and Technology
1 answer:
Alla [95]3 years ago
7 0

Following are the python program to the given question:

from collections import defaultdict #import package

import heapq as h#import package

def primsMST(gr, st_v): # defining a method primsMST that takes two values in parameters  

   primalMST = defaultdict(set)#defining primalMST as a variable that calls defaultdict method  

   v = set([st_v])# defining a variable v that calls the set method and hold its value

   e_list = [(c, st_v, to)for to, c in gr[st_v].items()]#defining variable e_list that use loop to hold value in list

   h.heapify(e_list)# use package that holds heapify and holds its value

   while e_list:#defining while loop that checks e_list  

       c, s, e = h.heappop(e_list)#holding heapop method value in c,s,and e variable

       if e not in v:#defining if block checks e value is not in v

           v.add(e)# use add method to add value in v

           primalMST[s].add(e)#use primalMST as list that adds value in mwthod

   for nxt, c in gr[e].items():#defining for loop that uses nxt, and c variable that checks value in list

       if nxt not in v:#defining nxt variable that checks value is not in v

           h.heappush(e_list, (c, e, nxt))#add value into the heappush method

   return primalMST#return method value

connects=[['A','B',1],['B','C',4],['B','D',6],['D','E',5],['C','E',1]]#defining a list connects

my_gr=dict()#defining a variable my_gr that holds method dict() value  

for el in connects:#defining a for loop that uses el to count connects list value

   my_gr[el[0]]=dict()#use my_gr as list hold value in dict method

   my_gr[el[1]]=dict()#use my_gr as list hold value in dict method

for el in connects:#defining another for loop that uses el to count connects list

   my_gr[el[0]].update({el[1]:el[2]}) # use update method that update value in my_gr

   my_gr[el[1]].update({el[0]:el[2]})# use update method that update value in my_gr

x=dict(primsMST(my_gr, list(my_gr.keys())[0]))#defining x variable that calls dict method and  hold its value  

a=[]#defining an empty list

for k in x:#defining a for loop that uses k to hold dict method value

   for no in x[k]:#defining a loop that checks list value

       a.append([k,no,my_gr[k][no]])#use a that add value in list  

       print(a)#print list value.

Output:

Please find the attached file.

Program Explanation:

  • Import package.
  • defining a method primsMST that takes "gr and st_v" as parameters.
  • Inside the method, a primalMST as a variable is declared that calls "defaultdict" method.
  • Use the v variable that calls the set method and hold its value.
  • Defining "e_list" that uses the loop to hold value in lists, and define the heapify and holds its value.
  • In the next step, it defines a while loop checks e_list, and defines variable and hold value into the method and use another if to check value and return its value.
  • A list "connects" is declared that holds a value and defines a "my_gr" that holds "dict" method value and uses multiple for loop to print the calculated list value.

Learn more:

dictionary: brainly.in/question/14673591

List: brainly.in/question/25140412

You might be interested in
Who knows my aunt better?
fiasKO [112]

Answer:

yes, yes, 30, November 5

6 0
3 years ago
Read 2 more answers
If I had a picture of my friend on my camera that I wished to insert into a publication, which icon would I select from the Inse
Juli2301 [7.4K]
The paper clip i think if there is one than click it and it should tell you to pick the photo or download you might have to download it
4 0
3 years ago
_______________involves engineers building up a 3D geometry piece by piece.
zloy xaker [14]

Answer:

<u>Parametric design</u> involves engineers building up a 3D geometry piece by piece. 2D sketches turn into 3D features, with constraints and relations duly applied to fit the designer's intent.

Explanation:

Hope this helps

8 0
2 years ago
Draw a timeline for each of the following scheduling algorithms. (It may be helpful to first compute a start and finish time for
12345 [234]

Answer:

See explanation below

Explanation:

Previos concepts

First Come First Serve (FCFS) "is an operating system scheduling algorithm that automatically executes queued requests and processes in order of their arrival".

Shortest job next (SJN), or the shortest job first (SJF) or shortest "is a scheduling policy that selects for execution the waiting process with the smallest execution time".

Shortest remaining time (SRF) "is a scheduling method that is a preemptive version of shortest job next scheduling'".

Round robin (RR) is an algorithm where the time parts "are assigned to each process in equal portions and in circular order, handling all processes without priority"

Solution for the problem

Assuming the dataset given on the plot attached.

Part a

For this algorithm the result would be:

Job A   0-6

Job B   6-(6+3) = 6-9

Job C   9-(9+1) = 9-10

Job D   10-(10+4) = 10-14

Part b

For this algorithm the result would be:

Job A   0-6

Job C   6-(6+1) = 6-7

Job B   7-(7+3) = 7-10

Job D   10-(10+4) = 10-14

Part c

For this algorithm the result would be:

Job A   0-1  until 14

Job B   2-(2+3) = 2-5

Job C   3-(3+2) = 3-5

Job D   9-(9+5) = 9-14

Part d

For this algorithm the result would be:

Job A   0-2 , 7-9, 12-14

Job B   2-4, 9-10

Job C   4-(4+1) = 4-5

Job D   5-7, 10-12

8 0
3 years ago
Dns (domain name system) servers translate all domain names into _____. hypermedia cookies ip addresses proxy servers
sweet-ann [11.9K]
<span>Dns (domain name system) servers translate all domain names into </span>ip addresses
4 0
3 years ago
Other questions:
  • Why does people that gets abused not report?
    5·1 answer
  • Disk requests come in to the disk driver for cylinders 10, 22, 20, 2, 40, 6, and 38, in that order. A seek takes 6 msec per cyli
    6·1 answer
  • What is the Documenter?
    10·1 answer
  • A ________ topology uses more than one type of topology when building a network. crossover multiple-use fusion hybrid
    11·1 answer
  • How do assignment article computer security, ethics and privacy?
    15·1 answer
  • Now now now now mowewweedeeee
    13·1 answer
  • Match each with the correct answer.
    7·1 answer
  • What influences my school my church and my leader on my society​
    8·1 answer
  • (ATRCKALLB) __________is an input device that contains a movable ball on the top.​
    7·1 answer
  • If a computer uses 500 characters, how many bits this system requires to give different code to all characters?
    15·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!