!visited[i][j]是什么意思
时间: 2023-12-21 15:04:45 浏览: 38
`!visited[i][j]` 是一个逻辑表达式,用于判断当前元素 `(i, j)` 是否已经被计算过。
在 C 语言中,`!` 表示逻辑取反运算符,即对一个逻辑表达式取反。当逻辑表达式的值为真(非零)时,取反后的值为假(0);当逻辑表达式的值为假(0)时,取反后的值为真(非零)。
因此,`!visited[i][j]` 的含义是:当 `visited[i][j]` 为 0 时,返回真(非零),表示当前元素未被计算过;当 `visited[i][j]` 不为 0 时,返回假(0),表示当前元素已被计算过。
相关问题
void DFS(MGraph G,int i){ int j; visited[i] = TRUE; printf("%d ",G.vexs[i]);//打印顶点 for( j=0; j<G.numVetexes; j++)//j小于顶点数,遍历所有顶点 if(G.arc[i][j]== 1 && !visited[j] )//与i有连接且未被访问过 DFS( G, j ); }
这段代码实现的是一个无向图的深度优先遍历。其中,`MGraph` 是一个邻接矩阵表示的图,`visited` 是一个布尔型数组,用来记录每个顶点是否已经被访问过。
具体来说,这个函数的作用是从第 `i` 个顶点开始进行深度优先遍历。首先将该顶点标记为已访问(即 `visited[i] = TRUE`),然后打印出该顶点的值(即 `printf("%d ",G.vexs[i])`)。接下来,遍历所有顶点,如果当前顶点与第 `i` 个顶点有边相连且该顶点还未被访问过,就递归调用 `DFS` 函数对该顶点进行深度优先遍历(即 `DFS(G, j)`)。
需要注意的是,在这个函数中没有记录连通集的信息,只是对每个顶点进行了遍历。如果需要找出无向图中的所有连通集,还需要在外部调用该函数,从所有未被访问的顶点开始遍历,直到所有顶点都被访问过为止。
void BFS(AMGraph G, int v){ Queue* Q=initQueue(); printf("%c",G.vexs[v]); visited[v]=1; enQueue(Q,v); while(!isEmpty(Q)){ int i=deQueue(Q); int j; for(j=FirstAdjVex(G, i); j>=0; j=NextAdjVex(G,i,j)) if(!visited[j]){ printf("%c",G.vexs[j]); visited[j]=1; enQueue(Q,j); } } }
这是一个广度优先搜索算法的实现,用于遍历邻接矩阵表示的图G,从顶点v开始搜索并输出遍历结果。其中,initQueue()是初始化队列的函数,enQueue(Q,v)是将顶点v入队操作,deQueue(Q)是出队操作,isEmpty(Q)判断队列是否为空,FirstAdjVex(G, i)是获取顶点i的第一个邻接点,NextAdjVex(G,i,j)是获取顶点i在顶点j之后的下一个邻接点。在搜索过程中,用visited数组标记已访问的顶点,以避免重复访问。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)