Cuthill - McKee - är en algoritm för reduktion av bandbredd för symmetriska matriser Uppkallad efter utvecklarna - Elizabeth Cuthill och James McKee.
Omvänd Cuthill-McKee ( RCM , omvänd Cuthill-McKee ) är samma algoritm med omvänd indexnumrering.
Den ursprungliga symmetriska matrisen behandlas som grafens närliggande matris . Cuthill-McKee-algoritmen numrerar om grafens hörn på ett sådant sätt att, som ett resultat av motsvarande permutation av kolumnerna och raderna i den ursprungliga matrisen, bredden på dess tejp reduceras .
Algoritmen bygger en ordnad uppsättning av hörn som representerar den nya vertexuppräkningen. För en ansluten graf ser algoritmen ut så här:
Algoritmen räknar med andra ord upp hörnen i en bredd-först-sökning , där intilliggande hörn korsas i ökande ordning efter deras styrkor .
För en frånkopplad graf kan algoritmen tillämpas separat på varje ansluten komponent [1] .
Tidsberäkningskomplexiteten för RCM-algoritmen förutsatt att insättningssortering används för att beställa , , där är den maximala graden av en vertex, är antalet grafkanter [2] .
För att få bra resultat måste du hitta grafens perifera vertex . Denna uppgift är generellt sett ganska svår, därför letar de i stället för det vanligtvis efter ett pseudo-perifert vertex med hjälp av en av modifieringarna av den heuristiska algoritmen av Gibbs et al.
För att beskriva algoritmen introduceras konceptet med en rotad nivåstruktur . För en given vertex kommer nivåstrukturen som är rotad till att vara en partition av uppsättningen av hörn :
där delmängder definieras enligt följande:
och
Algoritm för att hitta en pseudo-perifer vertex [3] :