1
1
部分
“精确到前X个字母左右”
至关重要,因为完全准确的数字分配是不可能的。为了看到这一点,假设你的
虽然“理论上完美”的解决方案是不可能的,但仍然有可能得到一个实际的“近似”系统,该系统应能以完美的精度工作多达数百万行。最简单的方法是使用浮点类型。首先,按排序顺序列出行并分配第一行A
最好从零开始重新分配数字(如在初始构建步骤中)以定期或在大量更新之后“平滑”这些值。特别是如果桌子开始小,然后变大,你可能会发现一些数字的“聚”在最后。 |
2
1
谢谢你的回答。我只是想用我要用的解决方案更新人们。我采取了一种不同于我在问题中设想的方法。 概括地说,我想存储一个字符串的表示,这样当以二进制顺序检索时,我为“8英里”存储的任何内容都将在为“101个数据”存储的任何内容之前排序。 对于字符串中的每个数字(基本上是一个数字序列),我在它们前面插入一个数字,描述数字的位数。 所以,“8”变成“18”,“101”变成“3101”。它为数字增加了一些冗余,因为您使用的数字超过了需要的数量,并且某些值将不存在,但它们现在具有二进制排序将数字按数字顺序排序的属性。”101“会在8”之前排序,这是不需要的。在加上这个额外的数字后,“18”在“3101”之前排序。 注意:如果数字长9位或更多,我会在开头加上两位:数字中的位数减去9,然后加上9,然后再加上数字。这允许数字最多18位:对我来说足够好了。 我也在以其他方式规范化字符串-一切都要小写,Unicode字符将被翻译成最接近的ASCII等价字符,如果是第一个单词,“a”、“an”和“the”将被剥离。 我放弃了把字符串变成一个大的数值;它仍然是一个字符串,只是它不是为人类设计的。 |
Dima Malko · 如何在指定符号前添加符号? 2 年前 |
shekharsabale · 从列表元素捕获子字符串 2 年前 |
Manny · 如何比较Perl中的字符串? 2 年前 |
Manan Girdhar · 拆分字符串并仅在java中使用第二部分 2 年前 |
AnxiousLuna · Python使用len()获取数组索引数 2 年前 |
antonoyaro8 · 数据帧中每列上的Grepl 2 年前 |