小编Nov*_*ice的帖子

排序字典的时间复杂度

我想知道按键排序字典和按值排序字典的时间复杂度是多少.

例如:

for key in sorted(my_dict, key = my_dict.get):
  <some-code>
Run Code Online (Sandbox Code Playgroud)

在上面这行中,排序的时间复杂度是多少?如果假设使用了快速排序,那么平均是O(NlogN),最坏的情况是O(N*N)吗?

按值排序和按键排序的时间复杂度是不同的?因为,通过其密钥访问值只需要O(1)时间,两者应该相同?

谢谢.

python sorting algorithm dictionary

5
推荐指数
1
解决办法
2365
查看次数

在 Presto 中添加两张地图

我的数据如下

customer_id   usage_month  usage_by_product         usage
1             June         {"A":50, "B":50}         100
1             July         {"A":50, "B":10, "C":20} 80
1             Aug          {"A":50, "D":500}        550
1             Sep          {"C" :30}                30
Run Code Online (Sandbox Code Playgroud)

我想编写一个查询来汇总全年的总使用量

customer_id   usage_by_product    usage
 1            {"A": 150, "B":60   760
               "C": 50, "D":500}
Run Code Online (Sandbox Code Playgroud)

是否可以在 Athena (Presto) 的地图上进行这种聚合?

presto

3
推荐指数
1
解决办法
5155
查看次数

标签 统计

algorithm ×1

dictionary ×1

presto ×1

python ×1

sorting ×1