c – 对一组数字进行排序的最快数据结构(和排序算法)是什么?
发布时间:2020-12-16 07:06:04 所属栏目:百科 来源:网络整理
导读:我需要一个数据结构,它可以保存一组数字并尽快对它们进行排序. 我认为列表会很好,因为在列表中插入一个新数字比矢量更容易(这需要在插入后复制元素).但是,遍历链表(我使用排序列表作为查找以从unordered_map中获取对象)可能会慢得多,因为内存分散在整个堆中.
我需要一个数据结构,它可以保存一组数字并尽快对它们进行排序.
我认为列表会很好,因为在列表中插入一个新数字比矢量更容易(这需要在插入后复制元素).但是,遍历链表(我使用排序列表作为查找以从unordered_map中获取对象)可能会慢得多,因为内存分散在整个堆中. 我正在考虑使用地图,但是由于不连续的性质,这也不会导致内存访问不良吗? 一个静态分配的数组(有很多空的空间)和一个快速排序算法是我想到的另一个想法….. 回顾一下 – 我需要一个数据结构,它允许我插入新元素并尽快重新排序元素.元素将是数字. 任何帮助表示赞赏? 解决方法
最快的数据结构是阵列连续的内存区域,最适合缓存.
排序取决于.快速排序与插入排序的组合用于对低于特定大小的子阵列进行排序可能是您最好的选择,而不需要采用更深奥的东西. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |