A arbre d'abast mínim (MST) es defineix com a arbre allargat que té el pes mínim entre tots els arbres spanning possibles
A arbre allargat es defineix com un subgraf en forma d'arbre d'un graf connectat i no dirigit que inclou tots els vèrtexs del graf. O, per dir-ho en paraules de Layman, és un subconjunt de les vores del gràfic que forma un arbre ( acíclic ) on cada node del gràfic és una part de l'arbre.
L'arbre spanning mínim té totes les propietats d'un arbre spanning amb la restricció afegida de tenir els pesos mínims possibles entre tots els arbres spanning possibles. Com un arbre allargat, també hi pot haver molts MST possibles per a un gràfic.

Propietats d'un arbre spanning:
L'arbre spanning sosté el principis esmentats a continuació :
- El nombre de vèrtexs ( EN ) al gràfic i l'arbre d'abast és el mateix.
- Hi ha un nombre fix d'arestes a l'arbre que abasta que és igual a un menys que el nombre total de vèrtexs ( I = V-1 ).
- L'arbre spanning no hauria de ser desconnectat , ja que només hi hauria d'haver una única font de component, no més que això.
- L'arbre spanning hauria de ser acíclic, quin significa que no hi hauria cap cicle a l'arbre.
- El cost total (o pes) de l'arbre spanning es defineix com la suma dels pesos de les vores de totes les vores de l'arbre spanning.
- Hi pot haver molts arbres possibles per a un gràfic.
Arbre spanning mínim:
A arbre d'abast mínim (MST) es defineix com a arbre allargat que té el pes mínim entre tots els arbres spanning possibles.
L'arbre spanning mínim té totes les propietats d'un arbre spanning amb la restricció afegida de tenir els pesos mínims possibles entre tots els arbres spanning possibles. Com un arbre allargat, també hi pot haver molts MST possibles per a un gràfic.
- Mirem el MST del gràfic d'exemple anterior,

Spanning Tree mínim
Algorismes per trobar l'arbre d'abast mínim:
Hi ha diversos algorismes per trobar l'arbre d'abast mínim a partir d'un gràfic donat, alguns d'ells es mostren a continuació:
Algoritme de l'arbre d'abast mínim de Kruskal:
Aquest és un dels algorismes populars per trobar l'arbre d'abast mínim a partir d'un gràfic connectat i no dirigit. Això és un Primer, ordena totes les vores del gràfic segons els seus pesos,
Aquest algorisme es pot implementar de manera eficient mitjançant una estructura de dades DSU (Disjoint-Set) per fer un seguiment dels components connectats del gràfic. Això s'utilitza en una varietat d'aplicacions pràctiques com ara el disseny de xarxes, l'agrupació i l'anàlisi de dades.
Seguiu l'article a Algoritme de l'arbre d'abast mínim de Kruskal per a una millor comprensió i implementació de l'algorisme.
com convertir string a int a java
Algoritme de l'arbre d'abast mínim de Prim:
Aquest també és un algorisme cobdiciós. Aquest algorisme té el següent flux de treball:
- Comença seleccionant un vèrtex arbitrari i després afegint-lo al MST.
- Aleshores, comprova repetidament el pes mínim de la vora que connecta un vèrtex de MST amb un altre vèrtex que encara no es troba a l'MST.
- Aquest procés continua fins que tots els vèrtexs s'incloguin al MST.
Per seleccionar de manera eficient la vora de pes mínim per a cada iteració, aquest algorisme utilitza priority_queue per emmagatzemar els vèrtexs ordenats pel seu pes de vora mínim actualment. També fa un seguiment simultània del MST mitjançant una matriu o una altra estructura de dades adequada tenint en compte el tipus de dades que emmagatzema.
Aquest algorisme es pot utilitzar en diversos escenaris, com ara la segmentació d'imatges en funció del color, la textura o altres característiques. Per a l'itinerari, com per trobar el camí més curt entre dos punts per seguir un camió de lliurament.
Seguiu l'article a Algoritme de l'arbre d'abast mínim de Prim per a una millor comprensió i implementació d'aquest algorisme.
Algoritme de l'arbre d'abast mínim de Boruvka:
Aquest també és un algorisme de recorregut de gràfics utilitzat per trobar l'arbre d'abast mínim d'un gràfic connectat i no dirigit. Aquest és un dels algorismes més antics. L'algorisme funciona mitjançant la construcció iterativa de l'arbre d'abast mínim, començant per cada vèrtex del gràfic com el seu propi arbre. En cada iteració, l'algoritme troba l'aresta més barata que connecta un arbre amb un altre arbre i afegeix aquesta vora a l'arbre d'abast mínim. Això és gairebé similar a l'algoritme de Prim per trobar l'arbre d'abast mínim. L'algorisme té el següent flux de treball:
- Inicialitzar un bosc d'arbres, amb cada vèrtex del gràfic com el seu propi arbre.
- Per a cada arbre del bosc:
- Trobeu la vora més barata que la connecti amb un altre arbre. Afegiu aquestes vores a l'arbre d'abast mínim.
- Actualitzeu el bosc combinant els arbres connectats per les vores afegides.
- Repetiu els passos anteriors fins que el bosc només conté un arbre, que és l'arbre que abasta el mínim.
L'algorisme es pot implementar utilitzant una estructura de dades com una cua de prioritats per trobar de manera eficient la vora més barata entre arbres. L'algoritme de Boruvka és un algorisme senzill i fàcil d'implementar per trobar arbres d'abast mínim, però pot ser que no sigui tan eficient com altres algorismes per a gràfics grans amb moltes arestes.
Seguiu l'article a Algoritme de l'arbre d'abast mínim de Boruvka per a una millor comprensió i implementació d'aquest algorisme.
Per saber més sobre les propietats i característiques de Minimum Spanning Tree, feu clic aquí.
Aplicacions dels arbres d'abast mínim:
- Disseny de xarxa : els arbres spanning es poden utilitzar en el disseny de la xarxa per trobar el nombre mínim de connexions necessàries per connectar tots els nodes. En particular, els arbres que abasten mínims poden ajudar a minimitzar el cost de les connexions seleccionant les vores més barates.
- Processament d'imatge : els arbres spanning es poden utilitzar en el processament d'imatges per identificar regions d'intensitat o color similars, que poden ser útils per a tasques de segmentació i classificació.
- Biologia : els arbres spanning i els spanning trees mínims es poden utilitzar en biologia per construir arbres filogenètics per representar les relacions evolutives entre espècies o gens.
- Anàlisi de xarxes socials : els arbres spanning i els spanning trees mínims es poden utilitzar en l'anàlisi de xarxes socials per identificar connexions i relacions importants entre individus o grups.
Alguns problemes populars d'entrevistes a MST
| 1. | Trobeu el cost mínim per connectar totes les ciutats | Pràctica |
Algunes preguntes freqüents sobre els arbres d'abast mínim:
1. Hi pot haver diversos arbres de abast mínim per a un gràfic donat?
Sí, un gràfic pot tenir diversos arbres d'abast mínim si hi ha diversos conjunts d'arestes amb el mateix pes total mínim.
cadena ti int
2. Es poden utilitzar l'algoritme de Kruskal i l'algoritme de Prim per a gràfics dirigits?
No, l'algoritme de Kruskal i l'algoritme de Prim només estan dissenyats per a gràfics no dirigits.
3. Un gràfic desconnectat pot tenir un arbre de abast mínim?
No, un gràfic desconnectat no pot tenir un arbre que abasta perquè no abasta tots els vèrtexs. Per tant, tampoc no pot tenir un arbre spanning mínim.
4. Es pot trobar un arbre d'abast mínim mitjançant l'algorisme de Dijkstra?
No, l'algorisme de Dijkstra s'utilitza per trobar el camí més curt entre dos vèrtexs en un gràfic ponderat. No està dissenyat per trobar un arbre d'abast mínim.
5. Quina és la complexitat temporal dels algorismes de Kruskal i Prim?
Tant els algorismes de Kruskal com de Prim tenen una complexitat temporal de O(ElogE) , on E és el nombre d'arestes del gràfic.