没想到我这种实力的人也能看懂这个代码。赶紧显摆一下,好让杨大哥指正。(顺便感谢 zklhp 的代码重排。)
这个算法感觉是在求一个图的无环最长路。
程序遍历所有点为起点开始计算。计算的过程中,把使用了的点置为 1,以避免后面重复使用。没有用过的点都可以用来搜索,并计算出最长的路径。
递归到底的时候,由于其它点都被用过了,无路可走,就会向上返回。
我不知道楼主说的第四次调用是指什么。因为这个图就 4 个顶点,你第四次调用时已经没有其它点了,当然不行了。
我一开始以为这是在求图的直径呢,还没想明白。后来发现原来不是。