J***n 发帖数: 391 | 1 1. 如果数据查找多的话,需要使用哪种数据结构?
// 我复习下来,一直认为插入修改多用LinkedList,查询多的话用ArrayList. 但是好
像都不是正解。ArrayList如果查找value的话,也需要遍历整个列表。后来想了想,查
找最快的话就是binarySearch了,但是要基于sorted list的基础上,那是不是应该使
用SortedLinkedList呢?
2. 1 million的数据 (key-value),多查找,需要使用哪种数据结构?
// TreeMap 吗?
3. 使用线程实现1 billion 整数的求和,最后返回一个数
// 我把数据分成10份,定义10个线程来分别来做求和,最后把每个线程所得数相加,
得到最后的数。不知道思路对不对?
不过我困惑的是,如果是单一任务的话,难道不是单线程要比多线程快吗?可以一口气
运行,为什么还要浪费切换的时间呢?这道题的用意是什么呢?
谢谢。 |
g**e 发帖数: 6127 | 2 1. hashmap
2. hashmap
3. better use linkedlist to store results to avoid overflow.
【在 J***n 的大作中提到】 : 1. 如果数据查找多的话,需要使用哪种数据结构? : // 我复习下来,一直认为插入修改多用LinkedList,查询多的话用ArrayList. 但是好 : 像都不是正解。ArrayList如果查找value的话,也需要遍历整个列表。后来想了想,查 : 找最快的话就是binarySearch了,但是要基于sorted list的基础上,那是不是应该使 : 用SortedLinkedList呢? : 2. 1 million的数据 (key-value),多查找,需要使用哪种数据结构? : // TreeMap 吗? : 3. 使用线程实现1 billion 整数的求和,最后返回一个数 : // 我把数据分成10份,定义10个线程来分别来做求和,最后把每个线程所得数相加, : 得到最后的数。不知道思路对不对?
|
g*****g 发帖数: 34805 | 3 3. When you have multiple CPUs, multi-threading is supposed to
be faster. I would use a CountDownLatch to conclude the sum.
Leave the number of threads configurable.
【在 g**e 的大作中提到】 : 1. hashmap : 2. hashmap : 3. better use linkedlist to store results to avoid overflow.
|
T*********g 发帖数: 496 | 4 1) HashMap
2) HashMap
3) r u sure multithread will be faster?
【在 J***n 的大作中提到】 : 1. 如果数据查找多的话,需要使用哪种数据结构? : // 我复习下来,一直认为插入修改多用LinkedList,查询多的话用ArrayList. 但是好 : 像都不是正解。ArrayList如果查找value的话,也需要遍历整个列表。后来想了想,查 : 找最快的话就是binarySearch了,但是要基于sorted list的基础上,那是不是应该使 : 用SortedLinkedList呢? : 2. 1 million的数据 (key-value),多查找,需要使用哪种数据结构? : // TreeMap 吗? : 3. 使用线程实现1 billion 整数的求和,最后返回一个数 : // 我把数据分成10份,定义10个线程来分别来做求和,最后把每个线程所得数相加, : 得到最后的数。不知道思路对不对?
|
m****r 发帖数: 6639 | 5 for 3, i think this is just an (bad?) example use case to test someone's
under standing for multi threading. adding integers, probably not. doing
almost anything else in real life situation, likely yes.
【在 T*********g 的大作中提到】 : 1) HashMap : 2) HashMap : 3) r u sure multithread will be faster?
|