示例#1
0
 def get_sons(self):
     """
     Returns sons list of binomial trees.
     
     get_sons() -> sons_list
     
     @rtype: list
     @return: sons list.
     """
     res = LinkedList()
     curr = self._root._sons.get_first_record()
     while curr is not None:
         nTree = BinomialTree(None, None)
         nTree._root = curr.element
         nTree._root._father = None
         res.add_as_last(nTree)
         curr = curr._next
     return res
示例#2
0
    class Node:
    
        def __init__(self, element, key):
            self.element = element
            self._key = key
            self._rank = 0
            self._father = None
            self._sons = LinkedList()       

        def _swap(self, other):
            self.element, other.element = other.element, self.element
            self._key, other._key = other._key, self._key

        def _add_son(self, son):
            son._father = self
            self._sons.add_as_last(son)
        
        def __repr__(self):
            return "*B{}({}, {})".format(str(self._rank), str(self.element), str(self._key))
    
        def __str__(self):
            return self.__repr__()
示例#3
0
 def __init__(self, element, key):
     self.element = element
     self._key = key
     self._rank = 0
     self._father = None
     self._sons = LinkedList()