# Talk:C3 linearization

WikiProject Computer science (Rated Start-class, Low-importance)
This article is within the scope of WikiProject Computer science, a collaborative effort to improve the coverage of Computer science related articles on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
Start  This article has been rated as Start-Class on the project's quality scale.
Low  This article has been rated as Low-importance on the project's importance scale.
WikiProject Computing / Software (Rated Start-class, Low-importance)
This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
Start  This article has been rated as Start-Class on the project's quality scale.
Low  This article has been rated as Low-importance on the project's importance scale.

## Diamond problem?

Is this at all related to the diamond problem? Is it a solution to the diamond problem? Fresheneesz (talk) 04:29, 8 February 2012 (UTC)

## Clarification of "head" and "tails" of list

It might help to clarify what the definition of the "head" and the "tail" of a list is? For example, on the surface, I might assume that, given a list [A, B, C, D, E] that the head is [A] and the tail is [E]. If this is the case, following the rule"...is done by selecting the first head of the lists, which does not appear in the tail of any of the lists.", the example for the C3 linearization of Z would be

• Step 1: [Z] merge(L(K1), L(K2), L(K3), [K1, K2, K3])
• Step 2: [Z] merge([K1,A,B,C,O], [K1,D,B,E,O], [K3,D,A,O], [K1, K2, K3])//all prior linearizations expanded
• Step 3: [Z, K1] merge([A,B,C,O], [K1,D,B,E,O], [K3,D,A,O], [K2,K3])

Here is where the definition of "head" and "tail" for the lists becomes confusing. If the head is the first element, and tail is the last element, then A should be the next item, however the example shows that K1 is selected next. It would seem that the head is the first element, and the tail is any element that is not the first element? Chrislk02 Chris Kreider 20:43, 29 April 2015 (UTC)