User Tools

Site Tools


stacks_queues

This is an old revision of the document!


Stacks, Queues, Dequeues

heapqueue

heapq.**__heappush__**(heap, item)
Push the value item onto the heap, maintaining the heap invariant.

heapq.**__heappop__**(heap)
Pop and return the smallest item from the heap, maintaining the heap invariant. If the heap is empty, IndexError 
is raised. To access the smallest item without popping it, use heap[0].

heapq.**__heappushpop__**(heap, item)
Push item on the heap, then pop and return the smallest item from the heap. The 
combined action runs more efficiently than heappush() followed by a separate call 
to heappop().

heapq.__heapify__(x)
Transform list x into a heap, in-place, in linear time.

heapq.**__heapreplace__**(heap, item)
Pop and return the smallest item from the heap, and also push the new item. The 
heap size doesn’t change. If the heap is empty, IndexError is raised.

This one step operation is more efficient than a heappop() followed by heappush() 
and can be more appropriate when using a fixed-size heap. The pop/push combination 
always returns an element from the heap and replaces it 
with item.

The value returned may be larger than the item added. If that isn’t desired, 
consider using heappushpop() instead. Its push/pop combination returns the smaller 
of the two values, leaving the larger value on the heap.

The module also offers three general purpose functions based on heaps.

heapq.**__merge__**(*iterables)
Merge multiple sorted inputs into a single sorted output (for example, merge 
timestamped entries from multiple log files). Returns an iterator over the sorted values.

Similar to sorted(itertools.chain(*iterables)) but returns an iterable, does not pull 
the data into memory all at once, and assumes that each of the input streams is already 
sorted (smallest to largest).

heapq.**__nlargest__**(n, iterable[, key])
Return a list with the n largest elements from the dataset defined by iterable. key, 
if provided, specifies a function of one argument that is used to extract a comparison 
key from each element in the iterable: key=str.lower Equivalent to: 
  sorted(iterable, key=key, reverse=True)[:n]

heapq.**__nsmallest__**(n, iterable[, key])
Return a list with the n smallest elements from the dataset defined by iterable. key, 
if provided, specifies a function of one argument that is used to extract a comparison 
key from each element in the iterable: key=str.lower 
  Equivalent to: sorted(iterable, key=key)[:n]
stacks_queues.1578968085.txt.gz · Last modified: 2020/01/14 02:14 by jrseti