Java Graph2025年5月2日 | 阅读 11 分钟 在 Java 中,**图**是一种存储一定数据的结构。**图**的概念源自数学,能够满足计算机科学领域的需求。它表示连接多个点的网络。在本节中,我们将详细学习 Java 图数据结构。此外,我们还将学习**图的类型**、它们的实现以及图的**遍历**。 Graph**图**是一种存储连接数据的数据结构。换句话说,图 G (或 g) 被定义为一组顶点 (V) 和连接顶点的边 (E)。图的例子有社交网络、计算机网络、谷歌地图等。 每个图由**边**和**顶点**(也称为节点)组成。每个顶点和边都有关系。其中顶点表示数据,边表示它们之间的关系。顶点用带标签的圆圈表示。边用连接节点的线表示(顶点)。 图术语**顶点:** 顶点是连接边的点。它代表数据。它也称为节点。它用圆圈表示,并且必须带标签。要构建一个图,至少需要一个节点。例如,房屋、公交车站等。 **边:** 边是连接两个顶点的线。它表示顶点之间的关系。边用线表示。例如,从你家到公交车站的路。 **权重:** 它是加在边上的标签。例如,两座城市之间的距离是 100 公里,那么距离就是边的权重。 **路径:** 路径是从初始点到目标点的顺序到达方式。 图的类型
Java 图实现要在 Java 中实现图,我们将使用 泛型类。要创建 Java 泛型类的对象,我们使用以下语法 请记住,我们不能将原始类型用作参数类型。 让我们创建一个实现图的 Java 程序。 GraphImplementation.java 输出 ![]() 有向图实现DirectedGraph.java 输出 ![]() 带权图实现WeightedGraph.java 输出 ![]() 图遍历图的遍历是指至少访问一次每个顶点和边。为了遍历图,图数据结构提供了两种算法
深度优先搜索 (DFS)DFS 算法是一种基于回溯概念的递归算法。该算法从初始节点开始,并深入搜索,直到找到目标节点(一个没有子节点的节点)。回溯允许我们在向前遍历的同一条路径上向后移动。 让我们在 Java 程序中实现 DFS 算法。 DepthFirstSearch.java 输出 ![]() 广度优先搜索 (BFS)BFS 算法是遍历图最常见的方法。遍历从源节点开始,并扫描其邻居节点(当前节点的子节点)。简而言之,水平遍历并访问当前层的所有节点。然后,移动到下一层并执行相同的操作。 让我们在 Java 程序中实现 BFS 算法。 BreadthFirstSearch.java 输出 ![]() |
全字母句是一个字符串,其中包含英文字母表中的所有字母至少一次。这是一个典型的编程练习,因为它涉及字符串操作、数据模型和算法。在本节中,我们将学习到底什么是…
阅读 4 分钟
Java 中的 File 抽象地表示文件或目录的路径。因为它可以让开发人员在不必要时直接与底层文件系统交互的情况下处理文件路径和操作,所以这种抽象至关重要。许多 Java 应用程序经常需要……
阅读 4 分钟
Java 是一种多功能且广泛使用的编程语言,以其丰富的库和强大的功能而闻名。其中一项功能是 Icon 接口,它允许开发人员创建对象的动态图形表示。在本节中,我们将深入探讨 Java 中的 Icon 接口,...
5 分钟阅读
GST emSigner 是一款用于电子签名文件的工具,这些文件用于提交商品和服务税 (GST) 退税和处理数字签名文件。对于希望通过安全签名和存储来简化其商品和服务交易的公司或个人来说,此工具是必需的...
阅读 3 分钟
Java 是一种通用且广泛使用的编程语言,以其面向对象的方法和平台独立性而闻名。该语言的组织能力的关键特性之一是包的概念。在 Java 中,包充当类的容器,提供了一种结构化的方式来...
阅读 6 分钟
给定一个整数数组(或数组列表)。我们的任务是打印给定整数数组的所有子集(不包括空子集)。请注意,显示子集的顺序无关紧要。示例 1:输入 int inputArr[] = {1, 2, 3} 输出:{1}、{2}、...
7 分钟阅读
Java 编程被世界各地的许多用户使用。它提供了许多用于解决不同问题的包。要在我们的程序中使用 Java 包,需要使用 import 关键字。在本节中,我们将讨论 Java 中的静态导入。Java import 关键字大多数 Java 程序都以……开始。
5 分钟阅读
在本教程中,我们将了解如何在 Java 中查找数组元素的索引。为避免混淆,我们将假设数组中的所有元素都是唯一的。换句话说,任何元素都不会出现一次以上。在输入中,一个...
阅读9分钟
java.text.RuleBasedCollator 类具有 getCollationElementIterator() 函数。使用 RuleBasedCollator 类获取指定字符串的排序元素迭代器对象。语法:public CollationElementIterator getCollationElementIterator(String source) 参数:字符串对象是此方法接受的参数。返回值:排序元素对象...
阅读 2 分钟
通过 Java 程序读取 PDF 文件与读取文本文件不同。读取 PDF 文件的方式略有不同。JDK 不提供读取 PDF 文件的任何类。为了读取 PDF 文件,我们依赖...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India