t = {   "contents" : 3,
        "left" : {  "contents" : 1,
                    "left" : None,
                    "right" : { "contents" : 2,
                                "left" : None,
                                "right" : None } },
        "right" : { "contents" : 5,
                    "left" : {  "contents" : 4,
                                "left" : None,
                                "right" : None },
                    "right" : { "contents" : 8,
                                "left" : {  "contents" : 6,
                                            "left" : None,
                                            "right" : None },
                                "right" : None } } }

def linearSearch(t, target):
    print(t)
    if t == None:
        return False
    elif t["contents"] == target:
        return True
    else:
        leftResult = linearSearch(t["left"], target)
        rightResult = linearSearch(t["right"], target)
        return leftResult or rightResult

print(linearSearch(t, 8))
print(linearSearch(t, 7))

###

def binarySearch(t, target):
    print(t)
    if t == None:
        return False
    elif t["contents"] == target:
        return True
    elif t["contents"] > target:
        return binarySearch(t["left"], target)
    else:
        return binarySearch(t["right"], target)

print(binarySearch(t, 8))
print(binarySearch(t, 7))
