如何从多对多的关系的列表中快速搜索出有关联的记录?
有如下的表结构
acct_no group_id group2_id
---------------------------------
1 1
2 1
2 2
3 2
4 3
4 4
5 4
现在从acct_no出发,要找出与它有关联的记录进行在分组,即1,2,3为一组,4,5为一组.有关联的意思是指两个acct之间可以通过acct_no或group_id直接或间接的关联.在这个例子中1和2在一个组,2和3在一个组,,所以1,3也在一个组.
运行结果应该是这样的
acct_no group_id group2_id
---------------------------------
1 1 1
2 1 1
2 2 1
3 2 1
4 3 2
4 4 2
5 4 2
现在这个表大概有六万条记录,要如何做才能比较快的进行分组.我先前的方法是把所有记录一次性导入java的list中,然后循环遍历查找.
有那位大侠有什么更好的算法,或者如何提高这个遍历算法?