色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java樹的遍歷深度遍歷和

洪振霞1年前6瀏覽0評論

Java樹的遍歷方式有深度優(yōu)先遍歷和廣度優(yōu)先遍歷兩種。

深度優(yōu)先遍歷是先遍歷該節(jié)點的子節(jié)點,再遍歷該節(jié)點的兄弟節(jié)點,以此類推。這種遍歷方式通常用遞歸實現(xiàn),代碼如下:

public void dfs(TreeNode node) {
if (node == null) {
return;
}
System.out.print(node.val + " ");
dfs(node.left);
dfs(node.right);
}

上述代碼中,先判斷節(jié)點是否為空,然后輸出該節(jié)點的值,接著遞歸遍歷該節(jié)點的左子樹和右子樹。

廣度優(yōu)先遍歷是先遍歷該節(jié)點的所有兄弟節(jié)點,再遍歷兄弟節(jié)點的子節(jié)點,以此類推。一般使用隊列實現(xiàn),代碼如下:

public void bfs(TreeNode root) {
Queuequeue = new LinkedList<>();
if (root == null) {
return;
}
queue.offer(root);
while (!queue.isEmpty()) {
TreeNode node = queue.poll();
System.out.print(node.val + " ");
if (node.left != null) {
queue.offer(node.left);
}
if (node.right != null) {
queue.offer(node.right);
}
}
}

上面的代碼中,先把根節(jié)點加入到隊列中,然后不斷從隊列中取出節(jié)點,輸出該節(jié)點的值,并把該節(jié)點的左子樹和右子樹加入到隊列中。這樣就可以實現(xiàn)廣度優(yōu)先遍歷。

下一篇php link()