class Node:
def __init__(self, value):
self.value = value
self.left = None
self.right = None
root = Node(1)
root.left = Node(2)
root.right = Node(3)
root.left.left = Node(4)
def buscar(node, value):
if node is None:
return False
if node.value == value:
return True
return buscar(node.left, value) or buscar(node.right, value)
deque del módulo collections.| Operación | Vector | Lista enlazada |
|---|---|---|
| Acceso | O(1) | O(n) |
| Inserción | O(n) | O(1) |
| Eliminación | O(n) | O(1) |
deque del módulo collections.PriorityQueue del módulo queue o la clase heapq del módulo heapq.deque del módulo collections.def binary_search(array, value):
start = 0
end = len(array) - 1
while start <= end:
mid = (start + end) // 2
if array[mid] == value:
return mid
elif array[mid] < value:
start = mid + 1
else:
end = mid - 1
return -1