McLaren's masterpiece (Q1106015)
From MaRDI portal
| This is the item page for this Wikibase entity, intended for internal use and editing purposes. Please use this page instead for the normal view: McLaren's masterpiece |
scientific article; zbMATH DE number 4060704
| Language | Label | Description | Also known as |
|---|---|---|---|
| default for all languages | No label defined |
||
| English | McLaren's masterpiece |
scientific article; zbMATH DE number 4060704 |
Statements
McLaren's masterpiece (English)
0 references
1987
0 references
The problem addressed in this paper can be described as follows: Given an array \(b[0..n-1]\) and a permutation of \((0,1,...,n-1)\) given by an array \(H[0..n-1],\) rearrange b according to this permutation, that is, execute the multiple assignment \[ b[0],\;b[1],\;...,\;b[n-1] := b[H[0]],\;b[H[1]],\;...,\;b[H[n-1]]. \] The paper gives a new and formal description of an in-situ linear time algorithm due to Donald McLaren. For this algorithm H is encoded as a ``linked list'' represented by a variable p and an array \(c[0..n-1]\) such that \[ \begin{aligned} H[0] &= p, \\ H[1] &= c[p], \\ H[2] &= c[c[p]], \text{ etc.} \end{aligned} \] The description of the algorithm given in the paper first explores changes of H that can be performed easily by manipulating its representation using p and c.
0 references
McLaren's algorithm
0 references
multiple assignment
0 references
permutation
0 references
formal description
0 references
in-situ linear time algorithm
0 references
0.7087913751602173
0 references
0.6858812570571899
0 references
0.67237788438797
0 references
0.668044924736023
0 references