Beispiel #1
0
    def _input(value, node):
        '''
        FIXME:
        Implement this function.
        '''
        if node.left is None:
            new_node = Node(value)
            node.left = new_node

        elif node.right is None:
            new_node = Node(value)
            node.right = new_node

        else:
            left = Heap.size(node.left)
            right = Heap.size(node.right)
            new_node = node.left if left <= right else node.right
            new_node = Heap._input(value, new_node)

        if new_node.value < node.value:
            tmp = new_node.value
            new_node.value = node.value
            node.value = tmp

        return node
Beispiel #2
0
    def _input(value, node):
        if node.left is None:
            new_node = Node(value)
            node.left = new_node

        elif node.right is None:
            new_node = Node(value)
            node.right = new_node
        else:
            left = Heap.s1(node.left)
            right = Heap.s1(node.right)
            new_node = node.left if left <= right else node.right
            new_node = Heap._input(value, new_node)
        if new_node.value < node.value:
            tmp = new_node.value
            new_node.value = node.value
            node.value = tmp
        return node