推 hcsoso: 無向圖嗎? 有 O(n^2) 的算法 08/23 01:25
→ hcsoso: 對每個點 x, 以及每對 x 的鄰居 (y,z), A[y,z]++ 08/23 01:28
→ hcsoso: 最後檢查有沒有某個 A[u,v] 的值大於 1 08/23 01:29
推 hcsoso: 如果圖的邊數不多的話有更外的算法 08/23 01:36
→ hcsoso: *快 08/23 01:38
推 hcsoso: 抱歉,上面的算法應改進成一發現某格值已為 1 而要加為 2 08/23 02:10
→ hcsoso: 時就要停下 08/23 02:10
→ hcsoso: 不然最糟時會是 O(n^3)... 08/23 02:11
→ rareone: 謝謝H大的回覆 我花點時間啃一下論文 08/23 07:41
推 FRAXIS: 我之前有想過一個 O(n^2) 時間 O(n) 空間的方法 08/23 08:05
→ FRAXIS: 不過只能偵測 4-cycle 存在而不是 counting 08/23 08:06
→ FRAXIS: 從每個點作 BFS ,如果鄰居的鄰居有交集就是有4-cycle 08/23 08:07
→ FRAXIS: 因為判斷鄰居的鄰居的交集頂多使用 O(n) 空間 08/23 08:07
→ FRAXIS: 所以總共的時間複雜度是O(n^2) 空間複雜度是O(n) 08/23 08:07
推 hcsoso: 哎呀我沒有意識到原 po 需要的是計數不是存在性…上面的 08/23 08:51
→ hcsoso: 推文是存在與否的算法 08/23 08:51
推 hcsoso: 另外請問 a,c 或 b,d 可相同嗎? 08/23 08:58
推 FRAXIS: 但是論文可以解 counting 吧 雖然需要矩陣乘法 08/23 08:58
推 hcsoso: 我指的是連結前面的那個 08/23 09:01
→ rareone: 了解 所以只需要要快一點的矩陣乘法就可以壓下去 08/25 11:18
推 firejox: 用矩陣乘法就算的出來了 08/28 19:41