How to find a cycle of length 4?
2013-05-20 22:28
183 查看
此处说的“环”是一个简单环。
假设图是用邻接矩阵实现,邻接矩阵记为 $A$ ,节点个数为 $n$,边的个数为 $m$。
如果存在 $i,j$,且 $1 \le i<j \le n$ ,$N(i) \cap N(j) \ge 2$ ,则说明存在一个长度为 4 的环。
算法如下:
算法复杂度:$O(n^3)$
算法正确性证明:
命题:如果存在 $i,j$,且 $1 \le i<j \le n$ ,$N(i) \cap N(j) \ge 2$ ,则存在一个长度为 4 的环。
证明.
从上图可以看出, $i \rightarrow b \rightarrow j \rightarrow a \rightarrow i$ 是一个长度为 4 的环。
命题:如果存在一个长度为 4 的环,则存在 $i,j$,且 $1 \le i<j \le n$ ,$N(i) \cap N(j) \ge 2$。
证明.
已知图中存在一个长度为 4 的环,如 $a \rightarrow b \rightarrow d \rightarrow c \rightarrow a$,则 $N(a) \cap N(d)=\{c,b\}$,因此得证。
假设图是用邻接矩阵实现,邻接矩阵记为 $A$ ,节点个数为 $n$,边的个数为 $m$。
如果存在 $i,j$,且 $1 \le i<j \le n$ ,$N(i) \cap N(j) \ge 2$ ,则说明存在一个长度为 4 的环。
算法如下:
for(i=1 to n) for(int j=i+1 to n) count = 0; for(int k=1 to n) if(A[j][k]==A[i][k]==1) count++; if(count>=2) return "exist a cycle of length 4"; return "not exists";
算法复杂度:$O(n^3)$
算法正确性证明:
命题:如果存在 $i,j$,且 $1 \le i<j \le n$ ,$N(i) \cap N(j) \ge 2$ ,则存在一个长度为 4 的环。
证明.
从上图可以看出, $i \rightarrow b \rightarrow j \rightarrow a \rightarrow i$ 是一个长度为 4 的环。
命题:如果存在一个长度为 4 的环,则存在 $i,j$,且 $1 \le i<j \le n$ ,$N(i) \cap N(j) \ge 2$。
证明.
已知图中存在一个长度为 4 的环,如 $a \rightarrow b \rightarrow d \rightarrow c \rightarrow a$,则 $N(a) \cap N(d)=\{c,b\}$,因此得证。
相关文章推荐
- How to find PID of process listening on a port in Linux? netstat and lsof command examples
- How to get the length of array of strings in C? - Yahoo! Answers
- How to find the correct version of JDeveloper to use with eBusiness Suite 11i or Release 12.x
- how to find the address of git to download linux kernel soure
- [Decrypting User Password]How to find password of a User in Oracle Apps R12?
- 每日英语:How to find the career of your dreams
- How to Get the Length of File in C
- How to find size of array in C/C++ without using sizeof ?
- [Decrypting User Password]How to find password of a User in Oracle Apps R12?
- Please read "Security" section of the manual to find out how to run mysqld as root!错误解决
- CareerCup How to find medium of 1 billion numbers across N distributed machines efficiently?
- How to invoke the method of managed bean and render view in JSF when we are outside the lifecycle of JSF
- ns3--HOWTO understand and find cause of terminated with signal errors
- How To Find Location Of Install, Autoconfig, Patching , Clone And Other Logs?
- You're given a string of lower-case Latin letters. Your task is to find the length of its longest su
- How to find Wi-Fi password of all Connected Networks using CMD
- How to find the correct version of JDeveloper to use with eBusiness Suite 11i or Release 12.x
- Please read "Security" section of the manual to find out how to run mysqld as root!错误解决
- How to find the source code of the special command?
- How-to find the SQL that using lots of temp tablespace in Oracle