Union-find (disjoint set)
Në shqip: Bashkësitë e ndara
ShpjegimiSQ
Union-find mban grupe elementesh dhe i përgjigjet shpejt dy pyetjeve: „në cilin grup është ky?“ dhe „bashkoji këta dy grupe“. Përdoret për të gjetur nëse dy pika në një rrjet janë të lidhura dhe në algoritmin e Kruskal-it.
EnglishEN
Union-find keeps groups of items and quickly answers two questions: “which group is this in?” and “merge these two groups”. It's used to find whether two points in a network are connected and in Kruskal's algorithm.
Si ta mendosh
Si grupet e miqve në shkollë: kur dy grupe bëhen shokë, bëhen një grup i vetëm.
Lexoje në anglisht
Like friend groups at school: when two groups become friends, they become one group.
Shembull kodipython
prindi = list(range(10))
def gjej(x):
while prindi[x] != x: x = prindi[x]
return x
def bashko(a, b): prindi[gjej(a)] = gjej(b)