So today let's talk about some "serious" problems that occur in real life:
void dfs (TreeElement t) {
print(t);
if (t.left!=null) dfs(t.left);
if (t.right!=null) dfs(t.right);
}
void dfs (Vertex u) {
if (u has been visited before) return;
print(u);
mark u as visited;
for (each vertex v adjacent to u) {
dfs(v);
}
void bfs (TreeElement t) {
enqueue(t);
while (queue is not empty) {
x = dequeue();
print(x);
if (x.left!=null) enqueue(x.left);
if (x.right!=null) enqueue(x.right);
}
}
void bfs (Vertex u) {
enqueue(u);
while (queue is not empty) {
u = dequeue();
print(u);
mark u as visited;
for (each vertex v adjacent to u) {
if (v has not been visited before) enqueue(v);
}
}
}
Last modified 2001-02-08
| mdettinger@arsdigita.com |