在数据库中选择运算符

时间:2016-11-07 04:53:29

标签: mysql database algorithm sorting

给定一个数据集D_ {26xn},其中列为[a-z]的列(没有列只是一个例子)和n个观测值。每列(x)具有(r_x)唯一状态。 D中的行按列[a-z]降序排列。

任务:对于列(b,j,p),返回行的索引,使相同行的索引是连续的。在(b,j,p)中具有不同值集的行之间进行排序并不重要。

有没有O(n)复杂度的解决方案?

Sol1:列(b,j,p)可以排序,各自可以返回索引。但是这个解决方案的复杂性是O(no_columns * nlog(n))。

Sol2:迭代每一行并散列它们。但哈希实际上会更加昂贵。

1 个答案:

答案 0 :(得分:0)

  

是否存在复杂度为O(n)的解决方案?

似乎不太可能。你会得到这样的解决方案吗,你可以在O(n)中对任意密钥长度数据进行排序。