Data structures and algorithms (C # implementation) series --- generalized tree (II)
Heavenkiller (original)
Public override object Key {get {return this. key ;}}
Public override uint Degree {get {return this. degree ;}}
// Public override uint Height {get {return this. height ;}}
Public override bool IsEmpty () // property takes the place of IsEmpty ()
{
Return false; // generaltree wont be empty for ever
}
Public override bool IsLeaf ()
{
Return this. degree = 0; // if this trees degree is zero, it means the tree has no subtrees, so it is leaf certainly
}
// Overwrite Object. Equals () --- reference type realization
Public override bool Equals (object _ obj)
{
If (! Base. Equals (_ obj ))
Return false; // if the base class is not equal, the base class is not equal.
// Some entries in the base class can be removed from this
// The base class has been identified as the GeneralTree type, so the transformation will not fail
GeneralTree tmpTree = (GeneralTree) _ obj;
// Compare referenced members
If (! Object. Equals (this. treeList, tmpTree. treeList ))
Return false;
// Compare value type members
Return true;
}
}
}