تصحيح الأخطاء مرتين مثل كتابة الكود في المقام الأول.
إذا قمت بحل المشكلات المتعلقة بهياكل البيانات والخوارزميات (DSA) ، فأنت تعرف مدى إحباطها لتصحيح هياكل البيانات المعقدة مثل الأشجار الثنائية والرسوم البيانية الموجهة.
LeetPy عبارة عن حزمة بيثون خفيفة الوزن تجعلك أكثر كفاءة عند حل مشاكل DSA. أنه يحتوي على وظائف فائدة وخوارزميات تجعل تصحيح الأخطاء والاختبار أسهل بكثير . فيما يلي بعض الميزات:
LeetPy وظائف print() تُظهر لك كيف يبدو هيكلك (كل ذلك داخل المحطة الخاصة بك!).LeetPy دائمًا بشكل صحيح. لتثبيت أحدث إصدار مستقر ، قم بتشغيل:
$ pip install leetpyللتثبيت من آخر التزام جيثب:
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 مجموعة واسعة من وظائف الأداة المساعدة - لمجموعة واسعة من هياكل البيانات. للحصول على قائمة شاملة من أمثلة الاستخدام ، تحقق من /examples/readme.md.
لدى LeetPy خطط لدعم هياكل البيانات التالية:
تحتوي جميع هياكل البيانات على بعض API المشتركة:
create() -> structure - لإنشاء الهيكل مع بيانات وخصائص عشوائية بناءً على معلمات معينةexport_as_code(structure) -> str - للحصول على وظيفة python3 المستقلة التي عند استدعائها ، تُرجع بنية البيانات المحددةexport_as_svg(structure) -> None - لإنشاء ملف SVG مع تصور بنية البيانات المحددةprint(structure) -> None - لطباعة تمثيل بنية البيانات إلى المحطة