This week, I received some exciting news by email: I will be interviewed for an internship at Microsoft! In order to keep my memory fresh, I have decided to practice my algorithms and data structures, then post the results.
To get things started, here is how you perform a binary search in Python, not that you should have to. This function will return the index of the given item in the given list.
countries = ("Afghanistan","Albania","Algeria", ...) def bsearch(items, val, offset=0): index = int(len(items)/2) if val == items[index]: return index + offset elif(val > items[index]): return bsearch(items[index:], val, offset+index) else: return bsearch(items[:index], val, offset) print bsearch(countries, "Central African Rep")