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鏈表和二叉樹的基本概念和用法,希望對大家有所幫助。
下一篇css控制文本的大寫