我有一個單獨的文件(countries.txt)中的國家列表,我需要做一個二進制搜索來查找一個國家,併爲它聲明給它的信息。二進制搜索的名稱
我的文件:
Afghanistan, 647500.0, 25500100
Albania, 28748.0, 2821977
Algeria, 2381740.0, 38700000
American Samoa, 199.0, 55519
Andorra, 468.0, 76246
Angola, 1246700.0, 20609294
如果我想找到阿爾巴尼亞的面積和人口,我把getCountry(Albania)
的殼,我將如何得到它說明所提供的信息?
我有這個迄今爲止...
def getCountry(key):
start = "%s" #index
end = len("%s")-1 #index
while start<=end:
mid = (start + end)/2
if '%s'[mid] == key: #found it!
return True
elif "%s"[mid] > key:
end = mid -1
else:
start = mid + 1
#end < start
return False
如果將數據存儲在字典中,並使用國家/地區名稱作爲關鍵字,則可以在'O(1)'次完成。 –
我新來這個。如何將文件存儲在字典中,然後使用它 – user3207521
我懷疑它需要二進制搜索的作業... –