User Tools

Site Tools


stacks_queues

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
stacks_queues [2020/01/12 05:18] – created jrsetistacks_queues [2020/01/14 02:16] (current) jrseti
Line 2: Line 2:
  
  
 +====heapqueue====
 +
 +https://docs.python.org/2/library/heapq.html
 +
 +  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.1578806288.txt.gz · Last modified: 2020/01/12 05:18 by jrseti