欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java 二叉樹和圖

Java是一種非常流行的編程語言,可以用來實(shí)現(xiàn)各種數(shù)據(jù)結(jié)構(gòu)和算法。在這里,我們將介紹Java中的二叉樹和圖。

二叉樹是一種非常有用的數(shù)據(jù)結(jié)構(gòu),它通過將元素存儲(chǔ)在二叉樹中的節(jié)點(diǎn)中來組織數(shù)據(jù)。每個(gè)節(jié)點(diǎn)最多有兩個(gè)子節(jié)點(diǎn),稱為左子節(jié)點(diǎn)和右子節(jié)點(diǎn)。以下是Java中實(shí)現(xiàn)二叉樹的示例代碼:

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;
}
}
}
}
}

圖是另一種重要的數(shù)據(jù)結(jié)構(gòu),它由頂點(diǎn)和邊組成。圖可用于表示許多現(xiàn)實(shí)世界中的問題。以下是Java中實(shí)現(xiàn)無向圖的示例代碼:

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中實(shí)現(xiàn)二叉樹和圖的示例代碼。希望這篇文章可以幫助您更好地理解二叉樹和圖的概念,以及如何在Java中進(jìn)行實(shí)現(xiàn)。