在应用于列表的asc函数的输出中,我们可以看到输出由已排序的属性组成。
q)asc 1 3 11 10 4
`s#1 3 4 10 11
但是在应用于列表的独特功能的输出中,我们看不到应用于列表的唯一属性。
q)distinct 1 3 11 10 4
1 3 11 10 4
但是,在不同列表和唯一列表(应用了唯一属性的列表)中搜索元素所需的时间几乎相同。
q)n:1000000?1000000
q)d:distinct n
q)\t:100000 d[1021]
45
q)\t:100000 d[632265]
45
q)u:`u#d
q)\t:100000 u[1021]
44
q)\t:100000 u[632265]
48
那么,独特功能是在列表内部内部应用唯一属性并将其转换为哈希表吗?
答案 0 :(得分:3)
distinct
不会将唯一属性应用于列表。您可能会借助attr
函数
attr distinct 10?10
何时
将不返回任何内容`
attr `u#distinct 10?10
返回`u
此外,我认为实验可能是错误的:d[1021]
似乎是按索引获取元素的常用0(1)时间操作。如果您改用搜索,则会看到区别(我的电脑上的数字):
q)\t:10000 d?770751
85
q)\t:10000 u?770751
6