Geo-targeting 的 lookup table 如何设计数据结构?

2015-03-20 16:24:41 +08:00
 puncsky

有些数据是随着地点变化的,比如广告的定价,那么如何设计存这种定价的数据结构呢?我猜是树形的,类似于 Trie

对于 Location model:

public class Location {
        // use fields as properties for simplicity.
        public String country;
        public String state;
        public String city;
    }

使用三层的Trie:

public class TrieNode {
        public BigDecimal price;
        public HashMap<String, TrieNode> edges = new HashMap<>();
    }

好处就是,如果子节点不存在,父节点的价格可以覆盖子节点的价格。查找是 O(1) 的。

求批评指正。

2108 次点击
所在节点    互联网
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/178272

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX