from time import time

# Gebruikt lineair zoeken
def index_van_lineair(element,lijst):
    index = 0
    while index < len(lijst) and lijst[index] < element:
        index += 1
    return index

# Gebruikt binair zoeken
def index_van_binair(element,lijst):
    links = 0
    rechts = len(lijst)
    while links < rechts:
        midden = (links + rechts) // 2
        if element <= lijst[midden]:
            rechts = midden
        else:
            links = midden + 1
    return links

# Lees postnummers-1.txt in en hou de lijst resultaat gesorteerd m.b.v. lineair zoeken.
# Meet en toon hoelang dit duurt.
resultaat = []
tijd_begin = time()

with open("postnummers-1.txt") as f:
    for line in f:
        index = index_van_lineair(line,resultaat)
        resultaat.insert(index,line)
tijd = time() - tijd_begin   
        
print (f"lineair zoeken: {tijd} sec")

# Lees postnummers-1.txt in en hou de lijst resultaat gesorteerd m.b.v. binair zoeken.
# Meet en toon hoelang dit duurt.
resultaat = []
tijd_begin = time()

with open("postnummers-1.txt") as f:
    for line in f:
        index = index_van_binair(line,resultaat)   # of index_van_binair
        resultaat.insert(index,line)
tijd = time() - tijd_begin   
        
print (f" binair zoeken: {tijd} sec")
