Вообще превосходное Библиотека Универсального набора C5 имеет несколько различных основанных на дереве структур данных, включая наборы, сумки и словари. Исходный код доступен, если Вы хотите изучить их детали реализации. (Я использовал наборы C5 в производственном коде с хорошими результатами, хотя я не использовал ни одной из древовидных структур конкретно.)
Я ничего не знаю вернет почтовый индекс, но этот бесплатный и возвращает город / штат