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

الترتيب الصارم لأشجار البحث الثنائية

تحقق من عقد بحث صحيحة ذات مرجعين للابنين.

● ● ●TreeSentinel●
سير العمل · الترتيب الصارم لأشجار البحث الثنائية ×
def is_strict_bst(root):
    pending, seen, checks = [(root, None, None)], set(), []
    while pending:
        node, low, high = pending.pop()
        if node is None:
            continue
        if type(node) is not list or len(node) != 3 or type(node[0]) is not int:
            raise ValueError("tree.node")
        if id(node) in seen or len(seen) == 1000:
            raise ValueError("tree.structure")
        seen.add(id(node))
        value, left, right = node
        checks.append((value, low, high))
        pending.extend([(right, value, high), (left, low, value)])
    return all((low is None or low < value) and
               (high is None or value < high) for value, low, high in checks)
✳الترتيب الصارم لأشجار البحث الثنائية
✓ التغييراتراجع قبل التطبيق ↗
رسم توضيحي لمساحة العمل
01

راجع قبل التطبيق

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

02

النماذج

اضبط نقطة اتصال متوافقة مع OpenAI أو Anthropic باستخدام العنوان الأساسي ومفتاح API عند الحاجة. اختبر الاتصال. يجب أن يعمل خادم النموذج المحلي؛ وقد ترسل الأدوات البعيدة البيانات بشكل منفصل.

03

المشروع

اختبر الشجرة الفارغة وحدود الأسلاف وأعد خطأ للمفاتيح المكررة وارفض الدورات والأبناء المشتركين والعقد المعيبة أو أكثر من 1000 عقدة.

سير العمل

الترتيب الصارم لأشجار البحث الثنائية

سير العمل ↗
سير العمل
def is_strict_bst(root):
    pending, seen, checks = [(root, None, None)], set(), []
    while pending:
        node, low, high = pending.pop()
        if node is None:
            continue
        if type(node) is not list or len(node) != 3 or type(node[0]) is not int:
            raise ValueError("tree.node")
        if id(node) in seen or len(seen) == 1000:
            raise ValueError("tree.structure")
        seen.add(id(node))
        value, left, right = node
        checks.append((value, low, high))
        pending.extend([(right, value, high), (left, low, value)])
    return all((low is None or low < value) and
               (high is None or value < high) for value, low, high in checks)
مساحة عمل برمجية بالذكاء الاصطناعي

راجع البنية قبل الثقة بالقيم داخلها

يمنح TreeSentinel صيانة البيانات المهيكلة مساحة مشروع على Windows ومحادثة ذكاء اصطناعي مرتبطة بملفات المصدر. ابدأ بإظهار موضع تلقي التطبيق للبنية وكيف يستخدم نتيجة التحقق. اطلب من النموذج فحص هذا الحد كاملا قبل اقتراح فحص أبسط أو اجتياز مختلف.

مثلا، قد تستقصي مهمة حول bst_order.py شجرة يبدو أبناؤها المباشرون مرتبين بينما تخالف قيمة أعمق حدا لأحد الأسلاف. أدرج البنية المخفقة والنتيجة المتوقعة. ثم اسأل عن معالجة العقد المشوهة والمراجع المتكررة، كي لا يغفل إصلاح الترتيب افتراضات عن الشكل الجاري اجتيازه.

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

يتصل TreeSentinel بنقاط نهاية مدعومة متوافقة مع OpenAI أو تابعة لـ Anthropic، مع بيانات الاعتماد عند الحاجة. يمكنك اختيار نموذج أزيلت منه آليات التقييد إذا أتاحته نقطة نهايتك. تظل قيود مزوده وحدود سياقه وأدواته المتاحة جزءا من الإعداد؛ وينبغي أن تعتمد المراجعة على بنى ملموسة ونتائج مرصودة لا على ثقة النموذج.

أسئلة لأعمال التحقق من البيانات المهيكلة

لماذا أختبر مخالفة تحت الأبناء المباشرين؟

قد تنجح مقارنة محلية بينما تخالف عقدة سليلة حد سلف أسبق. قدم حالة صغيرة متداخلة تكشف الفرق وحدد النتيجة المتوقعة. راجع الاجتياز المقترح على أساسها قبل قبول تبسيط لمنطق التحقق.

هل المفاتيح المكررة خطأ بنيوي أم قرار ترتيب؟

حدد ذلك في عقد التطبيق. يفرض المثال ترتيبا صارما يستبعد المفاتيح المتساوية. افحص تمييز الكود المستخدم بين مدخل مشوه وبنية سليمة الشكل تخفق في الترتيب، وحافظ على اصطلاحات الاستجابة في التعديل المقترح.

ماذا يغير تكرار مرجع عقدة؟

قد يعني أن المدخل ليس على شكل الشجرة الذي تتوقعه الدالة، حتى لو بدت القيم المفردة مقبولة. أدرج حالة مرجع مشترك أو دورة حيث يناسب. افحص انتهاء التنفيذ وسلوك الرفض بدلا من الاعتماد حصرا على أمثلة متداخلة عادية.

هل أستبدل التحقق بفحص مخرج مرتب؟

فقط بعد مراعاة البنية وسلوك الفشل اللذين يحتاجهما المستدعي. قد يخفي فحص قيم مسطحة عقدا مشوهة أو افتراضات اجتياز. اطلب من النموذج شرح المفاضلات باستخدام المصدر الفعلي قبل تغيير عقد التحقق.

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

TreeSentinel · آخر تحديث 2026-10-25