看板 ACMCLUB 關於我們 聯絡資訊
※ 引述《JonathanWang (小尹)》之銘言: : ※ 引述《DJWS (...)》之銘言: : : 我找到了匈牙利演算法的程式碼 :) : : 也很努力的想看懂他 : : 好奇問一下 : : 有人知道匈牙利算法的時間複雜度是多少嗎? : 有 weight 的呵? 好像是 n^3 還是 n^4 吧 唔? 還有weight的呀? 我找到的這一份code 就純粹只是將連edge連多一點而已..並沒有什麼weight 那這支程式的時間複雜度是多少呢? int nx,ny,m; bool g[MAX][MAX],sy[MAX]; int cx[MAX],cy[MAX]; bool path(int x) { for (int y=1;y<=ny;y++) if (g[x][y] && !sy[y]) { sy[y]=true; if (!cy[y] || path(cy[y])) { cx[x]=y; cy[y]=x; return true; } } return false; } int MaximumMatch() { memset(cx,0,sizeof(cx)); memset(cy,0,sizeof(cy)); int ans = 0; for (int x=1;x<=nx;x++) if (!cx[x]) { memset(sy,0,sizeof(sy)); if (path(x)) ans++; } return ans; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.122.76.208