the wikipedia article about depth-first search belgesinde anlatılanlara göre, ikili bir ağaç üzerindeki DFS'nin bir önyüklemenin kök - sol - sağıyla aynı olduğunu düşünüyorum (doğru muyum?).Java'da ikili ağaçta derinlikli ilk arama (DFS) nasıl uygulanır?
Ama biraz daha arama yaptım ve bu kodu aldım, yazar DFS'nin daha önce ziyaret edilmişse kayıt için bir ağaca ihtiyacı olduğunu iddia ediyor (ya da bir grafikte buna ihtiyacımız var mı?).
// copyright belongs to the original author
public void dfs() {
// DFS uses Stack data structure
Stack stack = new Stack();
stack.push(this.rootNode);
rootNode.visited=true;
printNode(rootNode);
while(!stack.isEmpty()) {
Node node = (Node)s.peek();
Node child = getUnvisitedChildNode(n);
if(child != null) {
child.visited = true;
printNode(child);
s.push(child);
}
else {
s.pop();
}
}
// Clear visited property of nodes
clearNodes();
}
Bunu açıklayan olabilir mi?
Bu [link] sağında görüntüyü kontrol edebilir (http://en.wikipedia.org/wiki/Depth-first_search)? – Accessdenier