У меня есть список стран в отдельном файле (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)' время, если вы храните данные в словаре и используете имя страны в качестве ключа. –
Im новое к этому. Как сохранить файл в словаре, а затем использовать его – user3207521
Я подозреваю, что его для назначения, которое требует двоичного поиска ... –