Давайте рассмотрим пример, показанный ниже:
Код: Выделить всё
class A: pass
class B: pass
class C: pass
class D(A, B): pass
class E(C, B): pass
class F(E,D,C): pass
Код: Выделить всё
F E D C A B O
L(F)=F + merge(L(E), L(D), L(C), EDC)
=F + слияние(ECBO, DABO, CO, EDC)
=FE + слияние(CBO, DABO, CO, DC)
= FED + слияние(CBO, ABO, CO, C)
= FEDC + слияние(BO,ABO,O)
= FEDCABO
Но просто посмотрите на жирную линию. Я думаю, мы можем выбрать C или A, они оба верны. Я знаю, что алгоритм сказал выбрать первое, но почему не второе? Насколько я понимаю, конфликта также не будет, если мы выберем A, а затем позже выберем C.
Подробнее здесь: https://stackoverflow.com/questions/787 ... gorithm-py