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)]