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 heapqheapq.heapify(arr)heapq.heappop(arr)heapq.heappush(arr, x)heapq.nsmallest(k, arr, key=func)returns a list with theksmallest elements in the iterablearrbased on a comparator functionfunc- Runtime:
heapq.nlargest(k, arr, key=func)returns a list with theklargest elements in the iterablearrbased 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)]