BBranchSpire
سير العمل

سير العمل البرمجي · إعادة بناء شجرة من ترتيب الاجتياز

03
المنتج

سير العمل

أعد بناء شجرة ثنائية من اجتيازين سابق ووسطي لما يصل إلى 100 تسمية صحيحة مميزة. اختبر الشجرة الفارغة والأحادية وارفض الاجتيازات المتناقضة أو التسميات المتكررة دون تعديل المدخلات.

01

نزّل التطبيق

اختر مجلدًا واطلب من المساعد قراءة الملفات المعنية قبل تعديلها. حدّد الهدف وحدود المهمة في المحادثة.

02

افتح مجلد المشروع

اختر نقطة اتصال متوافقة. تعتمد الأدوات المتاحة وجودة الإجابات على النموذج والخادم المستخدمين.

03

اربط النموذج واختبره

راجع التغييرات ونتائج الأوامر. شغّل فحوص المشروع قبل اعتماد النتيجة؛ الشيفرة المُولّدة ليست مختبرة تلقائيًا.

04

راجع التغييرات وشغّل الاختبارات

قارن السلوك الفعلي بالنتيجة المتوقعة. إذا فشل فحص، تحقّق من السبب قبل إجراء تغييرات إضافية.

إعادة بناء شجرة من ترتيب الاجتياز

سير العمل
def rebuild_tree(preorder, inorder):
    for row in (preorder,inorder):
        if type(row) not in (list,tuple) or len(row) > 100 or any(type(v) is not int for v in row):
            raise ValueError("at most 100 integer nodes")
    if len(set(preorder)) != len(preorder) or len(set(inorder)) != len(inorder) or set(preorder) != set(inorder):
        raise ValueError("same distinct node labels")
    positions, cursor = {v:i for i,v in enumerate(inorder)}, 0
    def visit(lo,hi):
        nonlocal cursor
        if lo == hi: return None
        value = preorder[cursor]; cursor += 1
        at = positions[value]
        if not lo <= at < hi: raise ValueError("inconsistent traversals")
        left = visit(lo,at)
        right = visit(at+1,hi)
        return value,left,right
    return visit(0,len(inorder))

راجع قبل التطبيق. راجع التغييرات ونتائج الأوامر. شغّل فحوص المشروع قبل اعتماد النتيجة؛ الشيفرة المُولّدة ليست مختبرة تلقائيًا.

مساحة عمل برمجية بالذكاء الاصطناعي

تبدأ فكرتك التالية هنا.

تنزيل لنظام Windows ↗