在计算机科学中，C3算法主要用于确定多重继承时，子类应该继承哪一个父类的方法，即方法解析顺序（Method Resolution Order，MRO）。 C3算法实现了三种重要特性：1996年的OOPSLA会议上，论文"A Monotonic Superclass Linearization for "首次提出了C3超类线性化。被Python 2.3选作方法解析的默认算法。Perl 6 Parrot, Solidity, 等面向对象语言。也作为可选的、默认不是MRO的语言如Perl 5从版本5.10