环境:



分别取30, 300,3000, 30000, 300000, 3000000, 30000000, 300000000长度进行对比
| 长度 | list(创建时间,搜索时间) | set(创建时间,搜索时间) |
|---|---|---|
| 30 | 0.42, 0.41 | 0.40, 0.43 |
| 300 | 0.243, 0.260 | 0.221, 0.60 |
| 3000 | 0.68, 0.66 | 0.233, 0.40 |
| 30000 | 0.1386, 0.277 | 0.2431, 0.42 |
| 300000 | 0.2597, 0.2438 | 0.4707, 0.42 |
| 3000000 | 0.62955, 0.53431 | 0.112626, 0.44 |
| 30000000 | 0.433379, 0.236980 | 1.30848, 0.42 |
| 300000000 | 3.794385, 2.346075 | 9.13915, 0.42 |
可以看到,list在创建时耗时不多,但由于搜索采用线性扫描的方式,在数据量非常大的时候耗时就会非常明显;而set在创建时需要创建哈希表,带来一定时间消耗,但好处是在进行搜索时速度几乎不受长度增加的影响。
使用list还是set要具体情况具体分析
本文通过实验对比了不同长度下list和set的数据结构在创建及搜索操作上的性能表现。结果显示,list适合小规模数据,而大规模数据搜索推荐使用set。
793

被折叠的 条评论
为什么被折叠?



