Python
tip
Special thanks to Ishu Agrawal
Heap
Heaps are complete binary trees where the value of each node must be no greater than (or less than) the value of its child nodes.
- Python only supports Min Heaps
import heapq
heapq.heapify(arr)
heapq.heappop(arr)
heapq.heappush(arr, x)
heapq.nsmallest(k, arr, key=func)
returns a list with thek
smallest elements in the iterablearr
based on a comparator functionfunc
- Runtime:
heapq.nlargest(k, arr, key=func)
returns a list with thek
largest elements in the iterablearr
based on a comparator functionfunc
- Runtime:
Operation | Runtime |
---|---|
Find min/max | |
Search | |
Insert | |
Remove | |
Heapify Array |
List Offsetting
You can offset with Python's enumerate
function with list splitting.
enumerate(nums[offset::])
Dictionary
Alphanumeric Testing
c.isalnum()
Making 2d Arrays
- using
visited = [[False] * len(image[0])] * len(image)
will not work- the rows will share the same memory and change in one will reflect on the others
- use
arr = [[0 for i in range(cols)] for j in range(rows)]