您现在的位置是:首页 > 后台技术 > 数据结构与算法数据结构与算法
图的创建(图文)
第十三双眼睛2023-10-22【数据结构与算法】人已围观
简介图的创建
图的创建
package com.xingchen.day015; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class Graph { private int[][] edges;//邻结矩阵 private int numOfEdges;//边 private List<String> vertexList;//顶点集合 public static void main(String[] args) { //测试 int n = 5; //节点得个数 String[] vertex = {"a", "b", "c", "d", "e"}; Graph graph = new Graph(5); for (String value : vertex) { graph.insert(value); } //添加边 graph.insertEdges(0,1,1); graph.insertEdges(0,2,1); graph.insertEdges(1,2,1); graph.insertEdges(1,3,1); graph.insertEdges(1,4,1); graph.showGraph(); } public Graph(int n) { this.edges = new int[n][n]; vertexList = new ArrayList<>(n); numOfEdges = 0; } public void insert(String vertex) { vertexList.add(vertex); } //添加边 public void insertEdges(int v1,int v2,int weight) { edges[v1][v2] = weight; edges[v2][v1] = weight; numOfEdges ++; } public int getNumOfvertex() { return vertexList.size(); } public int getNumOfEdges() { return numOfEdges; } //返回节点对应得数据 public String getValueByIndex(int i) { return vertexList.get(i); } public int getWeight(int v1,int v2) { return edges[v1][v2]; } //显示图对应得矩阵 public void showGraph() { for (int[] link: edges) { System.out.println(Arrays.toString(link)); } } } |
Tags:
很赞哦! ()
相关文章
随机图文
-
普利姆算法(图文)
普利姆算法 -
合并两个有序数组(图文)
合并两个有序数组 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 -
有效的括号(图文)
有效的括号 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每个右括号都有一个对应的相同类型的左括号。 -
马踏棋盘(图文)
马踏棋盘