C3 linearization

In computing, C3 superclass linearization is an algorithm used primarily to obtain the order in which methods should be inherited in the presence of multiple inheritance. In other words, the output of C3 superclass linearization is a deterministic Method Resolution Order (MRO). C3 superclass linearization results in three important properties: * a consistent extended precedence graph, * preservation of local precedence order, and * fitting the monotonicity criterion. Python's Guido van Rossum summarizes C3 superclass linearization thusly:

C3 linearization

In computing, C3 superclass linearization is an algorithm used primarily to obtain the order in which methods should be inherited in the presence of multiple inheritance. In other words, the output of C3 superclass linearization is a deterministic Method Resolution Order (MRO). C3 superclass linearization results in three important properties: * a consistent extended precedence graph, * preservation of local precedence order, and * fitting the monotonicity criterion. Python's Guido van Rossum summarizes C3 superclass linearization thusly: