gpt4 book ai didi

algorithm - 按年龄对一组人进行排序的最快方法是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:04:39 24 4
gpt4 key购买 nike

结构数组

struct
{
string name;
string 2nd_name;
int age; // 0 to 150
}

数组的最大长度为 10^8。

我知道我可以使用 mergesort/quicksort 和所有其他众所周知的算法,但是我想知道是否可以添加其他可以加快排序速度的算法。

最佳答案

人的年龄与用于排序的任意整数有些不同:它具有非常少的可能不同值(所有人的年龄都在 0 到 150 之间)。所以最快的排序方法是分配151个链表(我们称它们为桶)并根据他/她的年龄将每个人的数据结构放入桶中:

bucket[person->age].add(person)

关于algorithm - 按年龄对一组人进行排序的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13109664/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com