Dr.Java |
Python C3-Algorithmus
Hi. Diesmal habe ich weniger ein Problem mit dem Programmieren ,als mit einer eher theoretischen Frage. Bei der Aufgabe ist nämlich eine Klassenhierarchie gegeben
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
|
class A:
pass
class B:
pass
class C:
pass
class D(A,B):
pass
class E(B,C):
pass
class F(D,E):
pass |
|
und man soll mit einem C3-Algorithmus die Method Resolution Order der Klasse F finden,inklusive aller Zwischenschritte .Mein Problem ist das ich nicht wirklich weiß wie man das am besten anstellt, ich habe leider nur dürftig Informationen über den Algorithmus erhalten. Aber ich habe mal folgendes probiert.
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
|
class A:
L(A)=[A]+merge(L(O),[O])=[A]+merge([O],[O]))=[A]+[O]=[A,O]
class B:
L(B)=[B]+merge(L(O),[O])=[B]+merge([O],[O]))=[B]+[O]=[B,O]
class C:
L(C)=[C]+merge(L(O),[O])=[C]+merge([O],[O]))=[A]+[O]=[A,O]
class D(A,B):
L(D)=[D]+merge(L(A),L(B),[A,B])=[D]+merge([A,O],[B,O],[A,B])=?
class E(B,C):
L(E)=[E]+merge(L(B),L(C),[B,C])=[E]+merge([B,O],[C,O],[B,C])=?
class F(D,E):
pass |
|
Die Schritte hab ich anhand eines vorgegeben Beispiels rekonstruiert.
Weiter würde ich jetzt nicht kommen- Stimmen die Schritte denn soweit und wie würde ich dann weiter machen?
Danke und lg |