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

java 二叉樹和圖

呂致盈1年前7瀏覽0評論

Java是一種非常流行的編程語言,可以用來實現各種數據結構和算法。在這里,我們將介紹Java中的二叉樹和圖。

二叉樹是一種非常有用的數據結構,它通過將元素存儲在二叉樹中的節點中來組織數據。每個節點最多有兩個子節點,稱為左子節點和右子節點。以下是Java中實現二叉樹的示例代碼:

public class BinaryTreeNode{
public T data;
public BinaryTreeNodeleftChild;
public BinaryTreeNoderightChild;
public BinaryTreeNode(T data) {
this.data = data;
this.leftChild = null;
this.rightChild = null;
}
}
public class BinaryTree{
public BinaryTreeNoderoot;
public BinaryTree() {
this.root = null;
}
public void insert(T data) {
if (root == null) {
root = new BinaryTreeNode<>(data);
} else {
BinaryTreeNodecurrent = root;
while (true) {
if ((Integer) data< (Integer) current.data) {
if (current.leftChild == null) {
current.leftChild = new BinaryTreeNode<>(data);
return;
}
current = current.leftChild;
} else {
if (current.rightChild == null) {
current.rightChild = new BinaryTreeNode<>(data);
return;
}
current = current.rightChild;
}
}
}
}
}

圖是另一種重要的數據結構,它由頂點和邊組成。圖可用于表示許多現實世界中的問題。以下是Java中實現無向圖的示例代碼:

import java.util.*;
public class Graph {
private Map>adjacencyList;
public Graph() {
this.adjacencyList = new HashMap<>();
}
public void addVertex(Integer v) {
adjacencyList.put(v, new LinkedList<>());
}
public void addEdge(int source, int destination) {
if (!adjacencyList.containsKey(source)) {
addVertex(source);
}
if (!adjacencyList.containsKey(destination)) {
addVertex(destination);
}
adjacencyList.get(source).add(destination);
adjacencyList.get(destination).add(source);
}
public void printGraph() {
for (Map.Entry>entry : adjacencyList.entrySet()) {
System.out.println("Vertex " + entry.getKey() + " is connected to: " + entry.getValue());
}
}
}

以上是Java中實現二叉樹和圖的示例代碼。希望這篇文章可以幫助您更好地理解二叉樹和圖的概念,以及如何在Java中進行實現。