现在有一些字符串(可能很多),长度都是18位,且毎一位字符都是由字母表的26个字母中的一个组成.毎一位的字符可能重复.如字符串:abcdefgaatdsvdfuds ,cdcafdkjjfkdryfdds 等. 问题如下:用这些字符串中的一条去比较其它所有字符串,然后取另外一条继续这样比较,直到比较完所有的字符串.在比较毎一条时是这样比较的:毎一位上的字符跟另一条同一位上的字条比较,如果相同就加1(大小写不区分),如此把对应为位上的字符比较完就比较完一条字符串.把相同的字符数记为N,上面的两条字符相同数为:
abcdefgaatdsvdfuds
cdcafdkjjfkdryfdds N=4.第三位中的C,第十五位中的f及第十七,十八位d,s相同.
如此把这条字符串跟其它所有字符串比较完.找出相同字符数为N的字符串有多少条.相同的字符串数记为M. 现在我自己设置定这N的范围,如3<=N<=9 把相同数在这范围的字符串数M是否符合我自己设置的范围,如1000<=M<=5000 .如符合这范围就保留或者删除这条这符串.现在主要问题是怎么找出符合我设置这N和M范围的字符串.怎么算这N,M大家自由发挥吧.
声明:因为要比较的字符串很多(上百万,千万的)所以不要用一般的循环(一般的循环我不说你也明白了!),那样会慢如蜗牛!
abcdefgaatdsvdfuds
cdcafdkjjfkdryfdds N=4.第三位中的C,第十五位中的f及第十七,十八位d,s相同.
如此把这条字符串跟其它所有字符串比较完.找出相同字符数为N的字符串有多少条.相同的字符串数记为M. 现在我自己设置定这N的范围,如3<=N<=9 把相同数在这范围的字符串数M是否符合我自己设置的范围,如1000<=M<=5000 .如符合这范围就保留或者删除这条这符串.现在主要问题是怎么找出符合我设置这N和M范围的字符串.怎么算这N,M大家自由发挥吧.
声明:因为要比较的字符串很多(上百万,千万的)所以不要用一般的循环(一般的循环我不说你也明白了!),那样会慢如蜗牛!
你说的是比较有创意,这我也想过,但维数太多,我不好想像.或者你能具体做一下给我看看好吗!?
to: ppayun(~云彩)
数据挖掘我真的还没接触过呢.不知怎么样的
呵呵,不信你自己随机做些数据来试试!