I want to write app where user can point any place on map (not only cities) and get timezone in that place.
What data structure (app will not have Internet connectiv
Given that time zones are based on political entities rather than simply a physical lat/lon computation, I would create a data structure that mapped polygons over lat/lon coordinates into political entities (country and province/state) and then have a separate structure that mapped political entities and current date into timezone offset.
That way you not only avoid redundancy, but also:
However, given the highly irregular shape of some borders, you'll need a fairly large data structure for accuracy, depending on the resolution of your input and/or display.