MCPcopy Index your code
hub / github.com/TheAlgorithms/Python / decrease_key

Method decrease_key

graphs/dijkstra_algorithm.py:192–210  ·  view source on GitHub ↗

Decrease the key value for a given tuple, assuming the new_d is at most old_d. Examples: >>> priority_queue_test = PriorityQueue() >>> priority_queue_test.array = [(10, 'A'), (15, 'B')] >>> priority_queue_test.cur_size = len(priority_queue_test.array)

(self, tup, new_d)

Source from the content-addressed store, hash-verified

190 self.array[j] = temp
191
192 def decrease_key(self, tup, new_d):
193 """
194 Decrease the key value for a given tuple, assuming the new_d is at most old_d.
195
196 Examples:
197 >>> priority_queue_test = PriorityQueue()
198 >>> priority_queue_test.array = [(10, 'A'), (15, 'B')]
199 >>> priority_queue_test.cur_size = len(priority_queue_test.array)
200 >>> priority_queue_test.pos = {'A': 0, 'B': 1}
201 >>> priority_queue_test.decrease_key((10, 'A'), 5)
202 >>> priority_queue_test.array
203 [(5, 'A'), (15, 'B')]
204 """
205 idx = self.pos[tup[1]]
206 # assuming the new_d is at most old_d
207 self.array[idx] = (new_d, tup[1])
208 while idx > 0 and self.array[self.par(idx)][0] > self.array[idx][0]:
209 self.swap(idx, self.par(idx))
210 idx = self.par(idx)
211
212
213class Graph:

Callers 2

insertMethod · 0.95
dijkstraMethod · 0.95

Calls 2

parMethod · 0.95
swapMethod · 0.95

Tested by

no test coverage detected