R:控制结构(求最大连通子图)

2023-05-16

输入此图,求输出下图:

R程序如下:


data <- matrix(0,5,5)
data[1,2] <- 1
data[1,3] <- 1
data[2,3] <- 1
data[4,5] <- 1
data = data + t(data)
n <- 1:5
visited.num <- 0
visited.vec <- NULL
for(i in 1:5){

  visited <- c(i)
  unvisited <- n[data[i,]==1]
  while(length(unvisited)>0){
    x <- unvisited[1]
    visited <- union (visited,x)
    unvisited <- unvisited[-1]
    y <- n[data[x,]==1]
    y <- setdiff(y,visited)
    unvisited <- union(unvisited,y)
  }
  
  temp <- length(visited)
  if(temp>visited.num){
    visited.num = temp
    visited.vec = visited
  }
  
}

visited <- sort(visited.vec)
ret <- data[visited,visited]
rownames(ret) <- visited
colnames(ret) <- visited
ret
  
  
  

 

转载于:https://www.cnblogs.com/huan-17/p/6539412.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R:控制结构(求最大连通子图) 的相关文章

随机推荐