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

java鏈表和二叉樹

趙潔冰1年前6瀏覽0評論

Java中,鏈表和二叉樹都是常用的數據結構,今天我們來一起學習一下它們的基本概念和用法。

鏈表

鏈表是一種線性的數據結構,通過每個節點的指針指向下一個節點,形成了一個由許多節點組成的鏈式結構。

鏈表的基本操作包括:插入節點、刪除節點、遍歷節點。我們可以使用Java中的LinkedList類來創建一個鏈表。

LinkedList<String> linkedList = new LinkedList<>();
linkedList.add("a");
linkedList.add("b");
linkedList.add("c");
linkedList.remove(1);
for (String s : linkedList) {
System.out.println(s);
}

輸出結果為:

a
c

二叉樹

二叉樹是一種樹形的數據結構,每個節點最多有兩個子節點,分別稱為左子節點和右子節點。

二叉樹的基本操作包括:插入節點、刪除節點、遍歷節點。我們可以使用Java中的TreeNode類來創建一個二叉樹。

class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}
// 插入節點
TreeNode node = new TreeNode(5);
if (root == null) {
root = node;
} else {
Queue<TreeNode> queue = new LinkedList<>();
queue.offer(root);
while (!queue.isEmpty()) {
TreeNode cur = queue.poll();
if (cur.left == null) {
cur.left = node;
break;
}
if (cur.right == null) {
cur.right = node;
break;
}
queue.offer(cur.left);
queue.offer(cur.right);
}
}
// 刪除節點
TreeNode node = search(root, key);
if (node == null) {
return root;
}
if (node.left == null || node.right == null) {
return node.left == null ? node.right : node.left;
}
TreeNode pre = node.left;
while (pre.right != null) {
pre = pre.right;
}
pre.right = node.right;
return node.left;
// 遍歷節點
void traverse(TreeNode root) {
if (root == null) {
return;
}
traverse(root.left);
traverse(root.right);
System.out.println(root.val);
}

以上是二叉樹的基本操作,我們可以根據應用場景進行更復雜的操作。

以上就是關于Java鏈表和二叉樹的基本概念和用法,希望對大家有所幫助。