Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Cuthill–McKee algorithm
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Algorithm== Given a symmetric <math>n\times n</math> matrix we visualize the matrix as the [[adjacency matrix]] of a [[Graph (discrete mathematics)|graph]]. The Cuthill–McKee algorithm is then a relabeling of the [[vertex (graph theory)|vertices]] of the graph to reduce the bandwidth of the adjacency matrix. The algorithm produces an ordered [[n-tuple|''n''-tuple]] <math>R</math> of vertices which is the new order of the vertices. First we choose a [[peripheral vertex]] (the vertex with the lowest [[Degree (graph theory)|degree]]) <math>x</math> and set <math>R := ( \{ x \})</math>. Then for <math>i = 1,2,\dots</math> we iterate the following steps while <math>|R| < n</math> *Construct the adjacency set <math>A_i</math> of <math>R_i</math> (with <math>R_i</math> the ''i''-th component of <math>R</math>) and exclude the vertices we already have in <math>R</math> :<math>A_i := \operatorname{Adj}(R_i) \setminus R</math> *Sort <math>A_i</math> ascending by minimum predecessor (the already-visited neighbor with the earliest position in R), and as a tiebreak ascending by [[Degree (graph theory)|vertex degree]].<ref>The Reverse Cuthill-McKee Algorithm in Distributed-Memory [https://archive.siam.org/meetings/csc16/slides/ariful_azad_CSC16.pdf], slide 8, 2016</ref> *Append <math>A_i</math> to the Result set <math>R</math>. In other words, number the vertices according to a particular [[level structure]] (computed by [[breadth-first search]]) where the vertices in each level are visited in order of their predecessor's numbering from lowest to highest. Where the predecessors are the same, vertices are distinguished by degree (again ordered from lowest to highest).
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)