การดีบักเป็นสองเท่าของการเขียนโค้ดตั้งแต่แรก
หากคุณแก้ปัญหาที่เกี่ยวข้องกับโครงสร้างข้อมูลและอัลกอริทึม (DSA) คุณจะรู้ว่ามันน่าหงุดหงิดแค่ไหนในการดีบักโครงสร้างข้อมูลที่ซับซ้อนเช่นต้นไม้ไบนารีและกราฟกำกับ
LeetPy เป็นแพ็คเกจ Python ที่มีน้ำหนักเบาซึ่งทำให้คุณมีประสิทธิภาพมากขึ้นเมื่อคุณแก้ปัญหา DSA มันมีฟังก์ชั่นยูทิลิตี้และอัลกอริทึมที่ทำให้การดีบักและการทดสอบง่ายขึ้น มาก นี่คือคุณสมบัติบางอย่าง:
LeetPy ให้ฟังก์ชั่น print() ที่แสดงให้คุณเห็นว่าโครงสร้างของคุณเป็นอย่างไร (ทั้งหมดในเทอร์มินัลของคุณ!)LeetPy จะทำงานได้อย่างถูกต้องเสมอ ในการติดตั้งรีลีสที่เสถียรล่าสุด Run:
$ pip install leetpyในการติดตั้งจาก GitHub ล่าสุด:
pip install git+https://github.com/aryanpingle/leetpyนี่คือกรณีการใช้งานน้อยที่สุด:
# 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 treeและนี่คือสิ่งที่ซับซ้อน:
# 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 มีฟังก์ชั่นยูทิลิตี้ที่หลากหลาย - สำหรับโครงสร้างข้อมูลที่หลากหลาย สำหรับรายการตัวอย่างการใช้งานที่ครอบคลุมลองดู /ตัวอย่าง /readme.md
LeetPy มีแผนที่จะสนับสนุนโครงสร้างข้อมูลต่อไปนี้:
โครงสร้างข้อมูลทั้งหมดมี API ทั่วไป:
create() -> structure - เพื่อสร้างโครงสร้างด้วยข้อมูลแบบสุ่มและคุณสมบัติตามพารามิเตอร์บางอย่างexport_as_code(structure) -> str - เพื่อรับฟังก์ชัน Python3 อิสระที่เมื่อเรียกแล้วให้ส่งคืนโครงสร้างข้อมูลที่กำหนดexport_as_svg(structure) -> None - เพื่อสร้างไฟล์ SVG ด้วยการสร้างภาพของโครงสร้างข้อมูลที่กำหนดprint(structure) -> None - เพื่อพิมพ์การแสดงโครงสร้างข้อมูลไปยังเทอร์มินัล