发表时间:2011-12-14
leonayx123 写道 niveko 写道 5. 为了实现一个折线图,需要将数据存入一种数据结构,折线图横坐标是时间,纵坐标是值,经常的查询是按时间段进行查询,如select value from t where begin>’20110101’ and end<’20111212’ ,问,使用java中的那种数据结构比较好。
这个应该用TreeMap,查询的效率会比较高. subMap(K fromKey, K toKey) 请教, 为什么要用treemap呢? 这个题目里的什么点和treemap的排序树能对应上? 就是因为排序过么? 这个题目的关键在于查询上面,因为对于范围的查询,你要是用其它的结构就会面临查范围的时候一个一个的去比较,然后把满足范围的添加到一个集合里面,遍历完了再把结果集返回,这样的效率是比较低的。而TreeMap是基于红黑树的实现,它内部会维持一个排序的关系,你要想找比某个值大或者小的只需用查找它左边或者右边的值就行。而范围的查询效率会更高,只需用指定开始和结束,它就可以返回一个AscendingSubMap集合给你,这个集合就是你需要查询的结果。具体的可以看看TreeMap的实现会更清楚些。 |
|
发表时间:2011-12-14
这是应届生的么? 我表示我果断不会
|
|
发表时间:2011-12-14
看来楼主的面试题,我汗颜了,基本上都不会...
|
|
发表时间:2011-12-14
都有点眼熟儿!
|
|
发表时间:2011-12-15
个人认为面试要考察的不是问出问题,你就能答出,那只是说明你有这个水平或技能。
有时候要考查你的学习能力以及分析问题的能力,这个往往是你不知道这个问题咋回答的时候才能考察出来的,一步一步分析的过程很重要。 |
|
发表时间:2011-12-16
niveko 写道 这个题目的关键在于查询上面,因为对于范围的查询,你要是用其它的结构就会面临查范围的时候一个一个的去比较,然后把满足范围的添加到一个集合里面,遍历完了再把结果集返回,这样的效率是比较低的。而TreeMap是基于红黑树的实现,它内部会维持一个排序的关系,你要想找比某个值大或者小的只需用查找它左边或者右边的值就行。而范围的查询效率会更高,只需用指定开始和结束,它就可以返回一个AscendingSubMap集合给你,这个集合就是你需要查询的结果。具体的可以看看TreeMap的实现会更清楚些。
恩 非常感谢,之前瞄过一眼treemap的源码。但是从来没用过,对它提供的方法就不怎么了解。 感谢解惑 |
|
发表时间:2011-12-16
6. 数据库的索引通常用什么数据结构实现?为什么用这种数据结构。
这个问题非常好。看了一篇淘宝一个姓张的人写的帖子,感觉思想在升华。 最多的感触就是,大学学得存储,寻址之类的知识不是白学了,只是做的东西还没用到而已,看看 btree设计者设计这个数据结构时对内存,磁盘访问的理解,结合之后设计的btree节点大小。瞬间膜拜~~ |
|
发表时间:2011-12-21
请问楼主申请的是百度的什么职位?百度有java的么?
|
|
发表时间:2011-12-21
macemers 写道
请问楼主申请的是百度的什么职位?百度有java的么?
当然有了,一大把。。 |
|
发表时间:2012-02-02
也想去百度试一下,可惜没作过java
|