La depuración es el doble que escribir el código en primer lugar.
Si resuelve problemas relacionados con las estructuras y algoritmos de datos (DSA), sabe lo frustrante que es depurar estructuras de datos complejas como árboles binarios y gráficos dirigidos.
LeetPy es un paquete de pitón liviano que te hace más eficiente cuando resuelve problemas de DSA. Contiene funciones de utilidad y algoritmos que facilitan mucho la depuración y las pruebas. Aquí hay algunas características:
LeetPy proporciona funciones print() convenientes que le muestran cómo se ve su estructura (¡todo dentro de su terminal!).LeetPy siempre funcionarán correctamente. Para instalar la última versión estable, ejecute:
$ pip install leetpyPara instalar desde la última confirmación de GitHub:
pip install git+https://github.com/aryanpingle/leetpyAquí hay un caso de uso mínimo:
# Create a random binary tree and visualize it
from leetpy import BinaryTree
root = BinaryTree . create ( n = 20 ) # create a random binary tree with 20 nodes
BinaryTree . print_structure ( root ) # visualize the binary treeY aquí hay uno complejo:
# Suppose you want to 'save' 10 binary search trees (example: for testing purposes)
# You would need some Python code that generates each tree exactly
from leetpy import BinaryTree
for i in range ( 1 , 11 ):
# Generate a random binary search tree (BST) with 20 nodes
# Each node should have a value between 1 and 10 (inclusive)
root = BinaryTree . create ( n = 20 , min_val = 1 , max_val = 10 , make_bst = True )
# Get the python code that generates this exact BST
# Oh, and make each node an object of class "CustomNode"
# Oh, and keep indentation to 2 spaces
code += " n " + BinaryTree . export_as_code ( root , node_alias = "CustomNode" , indent = 2 )
with open ( "testing.py" , "w" ) as f :
f . write ( code ) LeetPy ofrece una amplia gama de funciones de utilidad, para una amplia gama de estructuras de datos. Para obtener una lista completa de ejemplos de uso, consulte /examples/readme.md.
LeetPy tiene planes para admitir las siguientes estructuras de datos:
Todas las estructuras de datos tienen algunas API comunes:
create() -> structure - para crear la estructura con datos aleatorios y propiedades basadas en ciertos parámetrosexport_as_code(structure) -> str - para obtener una función Python3 independiente que, cuando se llama, devuelve la estructura de datos dadaexport_as_svg(structure) -> None - para crear un archivo SVG con una visualización de la estructura de datos dadaprint(structure) -> None - para imprimir una representación de la estructura de datos en el terminal