博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA算法:无向图的表示
阅读量:4041 次
发布时间:2019-05-24

本文共 1965 字,大约阅读时间需要 6 分钟。

JAVA算法:无向图的表示

下面是一个具有5个顶点的无向图的例子:

用JAVA代码来创建这个无向图

package com.bean.algorithm.graph;import java.util.LinkedList;public class UndirectedGraph {	// 用户定义的无向图用连接表来表示     // 创建一个LinkedList类型的数据结构,Size 为无向图图的顶点数     public static class Graph     {         int V;         LinkedList
adjListArray[]; // 构造方法 Graph(int V) { this.V = V; // 定义LinkedList的Size为无向图的顶点数 adjListArray = new LinkedList[V]; // 为每条边创建一个LinkedList类型的数据结构 for(int i = 0; i < V ; i++){ adjListArray[i] = new LinkedList<>(); } } } // 为无向图添加边 static void addEdge(Graph graph, int src, int dest) { // 从 src 到 dest创建边 graph.adjListArray[src].add(dest); // 既然是无向图,从 dest 到 src 也添加边 graph.adjListArray[dest].add(src); } // 输出无向图 static void printGraph(Graph graph) { for(int v = 0; v < graph.V; v++) { System.out.println("Adjacency list of vertex "+ v); System.out.print("head"); for(Integer pCrawl: graph.adjListArray[v]){ System.out.print(" -> "+pCrawl); } System.out.println("\n"); } } // 测试方法 public static void main(String args[]) { // 按照给定的无向图进行初始化 int V = 5; Graph graph = new Graph(V); addEdge(graph, 0, 1); addEdge(graph, 0, 4); addEdge(graph, 1, 2); addEdge(graph, 1, 3); addEdge(graph, 1, 4); addEdge(graph, 2, 3); addEdge(graph, 3, 4); // 按照邻接表的形式输出图 printGraph(graph); } }

输出结果

Adjacency list of vertex 0

head -> 1 -> 4

Adjacency list of vertex 1

head -> 0 -> 2 -> 3 -> 4

Adjacency list of vertex 2

head -> 1 -> 3

Adjacency list of vertex 3

head -> 1 -> 2 -> 4

Adjacency list of vertex 4

head -> 0 -> 1 -> 3
 

转载地址:http://vsvdi.baihongyu.com/

你可能感兴趣的文章
flex4 中创建自定义弹出窗口
查看>>
01Java基础语法-11. 数据类型之间的转换
查看>>
01Java基础语法-13. if分支语句的灵活使用
查看>>
01Java基础语法-15.for循环结构
查看>>
01Java基础语法-16. while循环结构
查看>>
01Java基础语法-17. do..while循环结构
查看>>
01Java基础语法-18. 各种循环语句的区别和应用场景
查看>>
01Java基础语法-19. 循环跳转控制语句
查看>>
Django框架全面讲解 -- Form
查看>>
socket,accept函数解析
查看>>
今日互联网关注(写在清明节后):每天都有值得关注的大变化
查看>>
”舍得“大法:把自己的优点当缺点倒出去
查看>>
[今日关注]鼓吹“互联网泡沫,到底为了什么”
查看>>
[互联网学习]如何提高网站的GooglePR值
查看>>
[关注大学生]求职不可不知——怎样的大学生不受欢迎
查看>>
[关注大学生]读“贫困大学生的自白”
查看>>
[互联网关注]李开复教大学生回答如何学好编程
查看>>
[关注大学生]李开复给中国计算机系大学生的7点建议
查看>>
[关注大学生]大学毕业生择业:是当"鸡头"还是"凤尾"?
查看>>
[茶余饭后]10大毕业生必听得歌曲
查看>>