A Cuthill -McKee algoritmus egy szalagszélesség - csökkentő algoritmus szimmetrikus mátrixokhoz A fejlesztők - Elizabeth Cuthill és James McKee - után nevezték el.
A Reverse Cuthill-McKee ( RCM , fordított Cuthill-McKee ) ugyanaz az algoritmus fordított indexszámozással.
Az eredeti szimmetrikus mátrixot a gráf szomszédsági mátrixaként kezeljük . A Cuthill-McKee algoritmus átszámozza a gráf csúcsait oly módon, hogy az eredeti mátrix oszlopainak és sorainak megfelelő permutációja következtében a szalag szélessége csökken .
Az algoritmus összeállítja az új csúcsok felsorolását reprezentáló csúcsok rendezett halmazát . Összekapcsolt gráf esetén az algoritmus így néz ki:
Más szavakkal, az algoritmus a csúcsokat egy szélesség-előszöri keresésben sorolja fel, amelyben a szomszédos csúcsokat hatványuk növekvő sorrendjében haladja meg .
Leválasztott gráf esetén az algoritmus minden kapcsolt komponensre külön-külön alkalmazható [1] .
Az RCM algoritmus időszámítási bonyolultsága, feltéve, hogy a rendezéshez beszúrásos rendezést használunk , ahol egy csúcs maximális foka, a gráf éleinek száma [2] .
A jó eredmények eléréséhez meg kell találnia a gráf perifériás csúcsát . Ez a feladat általában meglehetősen nehéz, ezért ehelyett általában egy pszeudo-periférikus csúcsot keresnek Gibbs et al. heurisztikus algoritmusának valamelyik módosításával.
Az algoritmus leírásához bemutatjuk a gyökeres szintű struktúra fogalmát . Egy adott csúcsra a következő helyen gyökerező szintstruktúra a csúcsok halmazának partíciója lesz :
ahol a részhalmazok meghatározása a következő:
és
Algoritmus egy pszeudoperiférikus csúcs megtalálására [3] :