ArrayNodes = [-1,-1,-1] * 2 RootPointer = -1 FreeNode = 0 def AddNode(ArrayNodes, RootPointer, FreeNode): NodeData = int(input("Enter the data")) if FreeNode <= 19: ArrayNodes[FreeNode][0] = -1 ArrayNodes[FreeNode][1] = NodeData ArrayNodes[FreeNode][2] = -1 if RootPointer == -1: RootPointer = 0 else: Placed = False CurrentNode = RootPointer while Placed == False: if NodeData < ArrayNodes[CurrentNode][1]: if ArrayNodes[CurrentNode][0] == -1: ArrayNodes[CurrentNode][0] = FreeNode Placed = True else: CurrentNode = ArrayNodes[CurrentNode][0] elif ArrayNodes[CurrentNode][2] == -1: ArrayNodes[CurrentNode][2] = FreeNode Placed = True else: CurrentNode = ArrayNodes[CurrentNode][2] FreeNode = FreeNode + 1 print("Tree is full") def PrintAll(ArrayNodes): for i in range(20): print(ArrayNodes[i][0], ArrayNodes[i][1], ArrayNodes[i][2]) for i in range(10): AddNode(ArrayNodes, RootPointer, FreeNode) PrintAll(ArrayNodes)