Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

Implementation (Part 1)

الدرس 5 من 9 في دورة خوارزمية كروسكال - خوارزميات الرسوم البيانية على Coddy.

نبدأ بخوارزمية union-find، وهي محرك كشف الدورات.

challenge icon

التحدي

متوسط

يعتمد اختبار الدورة في خوارزمية Kruskal على union-find. لنقم ببناء ذلك أولاً، واستخدامه لحساب المكونات المتصلة (connected components).

اكتب دالة باسم countSets تأخذ n ومصفوفة edges المسطحة (ثلاثيات [u, v, w, ...]، غير موجهة؛ تجاهل الأوزان هنا) وتُرجع عدد المكونات المتصلة، المحسوبة باستخدام union-find.

على سبيل المثال، مع 4 رؤوس وحواف [0,1,5, 2,3,5] هناك مكونان: {0,1} و {2,3}.

جرّب بنفسك

#include <stdlib.h>

int countSets(int n, int* edges, int edges_size) {
    // اكتب الكود هنا
    return 0;
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس خوارزمية كروسكال - خوارزميات الرسوم البيانية