Example #1
0
            private void dfs(Graph G, int v)
            {
                marked[v] = true;
                foreach (int w in G.GetAdjacentVertices(v))
                {
                    if (!marked[v])
                    {
                        marked[v] = true;

                        edgeTo[w] = v;
                        dfs(G, w);
                    }
                }
            }
Example #2
0
            private void bfs(Graph G, int s)
            {
                Queue <int> queue = new Queue <int>();

                marked[s] = true;
                queue.Enqueue(s);

                while (queue.Count != 0)
                {
                    int v = queue.Dequeue();
                    foreach (int w in G.GetAdjacentVertices(v))
                    {
                        if (!marked[w])
                        {
                            marked[w] = true;
                            edgeTo[w] = v;
                            queue.Enqueue(w);
                        }
                    }
                }
            }