subject

The heap implementation covered in class is for a so-called "max-heap" — i. e., one where elements are organized such that the one with the maximum value can be efficiently extracted. This limits our usage of the data structure, however. Our heap can currently only accommodate elements that have a natural ordering (i. e., they can be compared using the '>' and '<' operators as used in the implementation), and there's no way to order elements based on some partial or computed property. To make our heap more flexible, you'll update it to allow a key function to be passed to its initializer. This function will be used to extract a value from each element added to the heap; these values, in turn, will be used to order the elements. We can now easily create heaps with different semantics, e. g., Heap(len) will prioritize elements based on their length (e. g., applicable to strings, sequences, etc.) Heap(lambda x: -x) can function as a min-heap for numbers Heap(lambda x: x. prop) will prioritize elements based on their prop attribute If no key function is provided, the default max-heap behavior should be used — the "lambda x:x" default value for the __init__ method does just that. You will, at the very least, need to update the _heapify and add methods, below, to complete this assignment. (Note, also, that pop_max has been renamed pop, while max has been renamed peek, to reflect their more general nature.)

ansver
Answers: 1

Other questions on the subject: Computers and Technology

image
Computers and Technology, 22.06.2019 20:00, bartlettcs9817
Which location-sharing service offers items for users as a gaming component and also allows them to collectively link their check-ins to publish a trip? a. whrrl b. buzzd c. foursquare (this option is wrong i already tried) d. gowalla for plato
Answers: 2
image
Computers and Technology, 22.06.2019 21:30, Cheflulu5727
Write a function named printfloatrepresentation(float number) that will print the floating point representation of a number using the format given below. (sign bit) exponent in binary (assumed bit).significandfor example if the number passed an argument is 71 yourprogram should print (0) 10000101 (1).00011100000000000000000similarl y if the number passed to the function as argument is -71 the program should print (1) 10000101 (1).00011100000000000000000
Answers: 3
image
Computers and Technology, 22.06.2019 22:40, nsuleban9524
When you type the pwd command, you notice that your current location on the linux filesystem is the /usr/local directory. answer the following questions, assuming that your current directory is /usr/local for each question. a. which command could you use to change to the /usr directory using an absolute pathname? b. which command could you use to change to the /usr directory using a relative pathname? c. which command could you use to change to the /usr/local/share/info directory using an absolute pathname? d. which command could you use to change to the /usr/local/share/info directory using a relative pathname? e. which command could you use to change to the /etc directory using an absolute pathname? f. which command could you use to change to the /etc directory using a relative pathname?
Answers: 3
image
Computers and Technology, 23.06.2019 15:20, headshotplayzcod
In a game with three frames, where will the objects on layer 1 appear? a. next to the play area b. in the middle of the game c. behind everything else d. in front of everything else
Answers: 1
You know the right answer?
The heap implementation covered in class is for a so-called "max-heap" — i. e., one where elements a...

Questions in other subjects:

Konu
Mathematics, 01.03.2021 22:40