C++ 基于属性的多分类特征向量的数据结构
我需要用元组对向量进行排序 [ (a_11,…,a_1n), ... , (a_m1,…,a_mn) ] 基于属性列表及其比较运算符<或>。 例如:首先使用带>运算符的_2和带<运算符的_57进行排序 问题:我正在寻找一种数据结构来有效地实现这一点,前提是排序比向量更新更频繁C++ 基于属性的多分类特征向量的数据结构,c++,sorting,multidimensional-array,C++,Sorting,Multidimensional Array,我需要用元组对向量进行排序 [ (a_11,…,a_1n), ... , (a_m1,…,a_mn) ] 基于属性列表及其比较运算符。 例如:首先使用带>运算符的_2和带
我目前的想法是通过为每个属性添加类似于链表的指针来存储每个属性的排序顺序: 例如,此向量:
0: (1, 7, 4)
1: (2, 5, 6)
2: (3, 4, 5)
将获得数据结构
0: (1 next:1 prev:-, 7 next:- prev:1, 4 next:2 prev:-)
1: (2 next:2 prev:1, 5 next:0 prev:2, 6 next:- prev:2)
2: (3 next:- prev:2, 4 next:1 prev:-, 5 next:1 prev:0)
编辑:
- 在任何给定的时间,我只需要一个排序顺序。当我收到用户对不同排序顺序的请求后,我需要尽快重新计算
- 增量的想法非常好,但我需要估计我需要多少时间,如果我知道应该如何做,这就容易多了
- 完成后,我需要随机访问100个元素的组,即前100个、第二个100个或元素5100-5199