数据快速比较算法

  现在数据表里面有个字段Mark(存放的数据是64位长的数据,数据只有0和1组成)如:10…………。数据库里面有上百万的数据。怎样快速的查询一个和……很相似的数...

  现在数据表里面有个字段Mark(存放的数据是64位长的数据,数据只有0和1组成)如:10…………。数据库里面有上百万的数据。怎样快速的查询一个和……很相似的数据。注意比较的规则是:对位比较,个位和各位比较、十位和十位比较、百位和百位比较。如果是有10位以上的数据不同,则表示此数据不同,如果是5-10位的数据不同,表示此数据相似,如果只有小余5位的数据不同,表示此数据很相似。求高手,怎样快速比较,不要说数据全部取出来,用for循环比较哈。这样不要我要的结果。

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  先转换成字符串,分别存入list,然后遍历list,index相同的情况下直接对比list1(index)与list2(index)是否相等就好了。

  展开全部你想知道每位相不相同吗?我看你这是二级制数吧,如果是二进制可以用位运算的异或,相同为0,不同为1,这是最快的了,时间复杂度为O(1),掩码的操作都是用位运算的,不用什么查找。

  是有更快的查找,但是可能在预处理上花费的时间要多一些,你可以使用二叉查找树,不过需要先建立一棵树,把数据库里的数字需要按照一定的顺序建立,查找的时候时间复杂度也是o(kn)级别的,不过加上在查找过程中的剪枝,是可以比你说的方法快的。

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。