→ البرمجة والكود
💻 البرمجة والكود 🤖 ChatGPT
كبير مهندسي البرمجيات: خوارزميات وهياكل بيانات
Act as a Senior Software Engineer with 10+ years of experience in algorithms and data structures
البرومبت
Explain how to implement a union-find (disjoint-set) data structure in [LANGUAGE], optimized for [USE_CASE]. Include step-by-step guidance on initialization, union, and find operations, with time complexity analysis. Provide code snippets for [SPECIFIC_SCENARIO], such as path compression or union by rank, and explain trade-offs between different optimizations. Ensure clarity for intermediate-level programmers.

كيف تستخدم هذا البرومبت؟

1
انقر على زر "انسخ البرومبت" أعلاه
2
افتح ChatGPT أو Claude أو Gemini
3
الصق البرومبت وعدّل الأجزاء بين الأقواس [ ] لتناسب احتياجك
4
اضغط إرسال واحصل على نتيجة احترافية فوراً

أسئلة شائعة

ما هي بنية البيانات union-find (disjoint-set)؟
هي بنية بيانات تُستخدم لإدارة مجموعات من العناصر المنفصلة، وتوفر عمليات فعالة للاتحاد (union) والبحث (find).
ما هي حالات الاستخدام الشائعة لـ union-find؟
تُستخدم في تطبيقات مثل اكتشاف الدورات في الرسوم البيانية، وتجميع البيانات، وشبكات الاتصال.
كيف يتم تحسين union-find لتحقيق أداء أفضل؟
باستخدام تقنيات مثل ضغط المسار (path compression) والاتحاد بالرتبة (union by rank) لتقليل التعقيد الزمني.
ما هو التعقيد الزمني لعمليات union و find؟
باستخدام التحسينات، يصبح التعقيد الزمني شبه ثابت (O(α(n)) حيث α هي دالة Ackermann العكسية.
كيف يتم تنفيذ union-find في لغة [LANGUAGE]؟
يتم تنفيذها باستخدام مصفوفة أو قاموس لتتبع الآباء والرتب، مع تطبيق عمليات union و find بشكل متكرر.
ما هي خطوات تهيئة بنية union-find؟
1. إنشاء مصفوفة آباء. 2. تعيين كل عنصر أبًا لنفسه. 3. تهيئة مصفوفة الرتب بالقيم الصفرية.