两个以上字符串数组,取交集

xingfustar 2006-06-07 12:51:09
如何高效的获得,两个(两个以上)字符串数组的交集
给出算法,
最好可以给源码
...全文
418 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xingfustar 2006-06-08
  • 打赏
  • 举报
回复
BlueDog(身正方能顶天立地,心和才可容士纳物。)

兄弟,你的意思我懂的不太多,因为我没用过HashTable

能给个实例,或具体说下怎么做吗, 因为我的数组没到万级,但也有好几千个
xingfustar 2006-06-07
  • 打赏
  • 举报
回复
谢谢大家!
BlueDog 2006-06-07
  • 打赏
  • 举报
回复
多个比较与两个比较没有实质区别,总可以转化成两个字符串数组的比较。
如果字符串数组的数量不是很大,用普通的循环比较就可以了。效率不会很差。
但是如果是两个万级数量的字符串,则根不就不行了。
其算法时间为O(M X N)了

我的解决办法如下
将一个短的字符串数组读入HashTable,KEY 和 Value都是一样的
然后用另一个数组的字符串去查找,如果有则为相交的
算法时间约大于O(M)
主要原理是通过计算Hash值来减少对比查找的时间

rola 2006-06-07
  • 打赏
  • 举报
回复
除了楼上的想不出好办法
water0661 2006-06-07
  • 打赏
  • 举报
回复
以字符串数组最短的为基准,然后在循环比较其他数组找出交集
xingfustar 2006-06-07
  • 打赏
  • 举报
回复
自己顶,大家帮忙啊

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧