首页 > 试题广场 >

在招商银行的APP上可以进行不同用户之间的转账操作,假设现在

[问答题]
在招商银行的APP上可以进行不同用户之间的转账操作,假设现在有10万条用户转账数据,请简述如何检查是否存在转账行为回路,如A向B转账,并且B向A转账
用拓扑排序
发表于 2018-12-24 13:40:22 回复(1)
对于是否存在回路的判断,可以将转账行为建模为转账图,例如A向B转账,则可以建模为点A与B之间有一个有向边连接,形成一个有向图。
有向图可以使用拓扑排序判断是否存在环,具体如下:
1) 计算图中所有点的入度,把入度为0的点加入栈
2) 如果栈非空:
   取出栈顶顶点a,从图中删除该顶点
   从图中删除所有以a为起始点的边,如果删除的边的另一个顶点入度为0,则把它入栈

3) 如果图中还存在顶点,则表示图中存在环
发表于 2020-06-13 13:59:59 回复(0)
查询A的流水,将A向外转账的收账人标识加入一个set,A收帐的转账人标识加入一个set。两个set找去相同部分。
发表于 2019-09-22 14:32:05 回复(0)