算法-数据结构-图的构建(邻接矩阵表示)

devtools/2025/2/27 4:15:43/

数据定义


//邻接矩阵表示图
//1.无向图是对称的
//2.有权的把a,到b 对应的位置换成权的值/*** 无向图*    A  B* A  0  1* B  1  0*/
/*** 有向图*    A  B* A  0  1* B  0  0*/import java.util.ArrayList;
import java.util.List;/*** 带权图*    A  B* A  0  1* B  0  0*/
public class GraphM {GraphM(List<Character> vList, int [][] gArr){v=vList;//构造时候顶点个数代表邻接矩阵的长度//邻接矩阵存储边是否联通和权g=gArr;}//顶点private List<Character> v=new ArrayList<>();//边private int[][] g;public List<Character> getV() {return v;}public int[][] getG() {return g;}
}

图的创建

import org.springframework.integration.graph.Graph;import java.util.ArrayList;
import java.util.List;public class GraphTest {//创造一个无向图 边长为6 都联通//顶点为6public static void wuXiangGraphCreat(){List<Character> v1=new ArrayList<>();for(int i=0;i<6;i++){v1.add((char)('A'+i));}int [][] g1=new int[v1.size()][v1.size()];for(int i=0;i<v1.size();i++){for(int j=0;j<v1.size();j++){if(i!=j){//不是对称轴上都是1g1[i][j]=1;}else {//对称轴都是0g1[i][j]=0;}}}GraphM wuXiangGraph=new GraphM(v1,g1);//打印校验//顶点System.out.println(wuXiangGraph.getV());//边for(int i= 0;i<v1.size();i++){for(int j=0;j<v1.size();j++){System.out.print(wuXiangGraph.getG()[i][j]);System.out.print(" ");}System.out.println();}}//有向图//创造一个有向图 边长为6 A-B B-C C-D D_E E-F//顶点为6public static void youXiangGraphCreat(){List<Character> v1=new ArrayList<>();for(int i=0;i<6;i++){v1.add((char)('A'+i));}int [][] g1=new int[v1.size()][v1.size()];for(int i=0;i<v1.size();i++){for(int j=0;j<v1.size();j++){if(i==0&&j==1||i==1&&j==2||i==2&&j==3|| i==3&&j==4||i==4&&j==5||i==5&&j==0){//边长为6 A-B B-C C-D D_E E-Fg1[i][j]=1;}else {//其余都是0g1[i][j]=0;}}}GraphM wuXiangGraph=new GraphM(v1,g1);//打印校验//顶点System.out.println(wuXiangGraph.getV());//边for(int i= 0;i<v1.size();i++){for(int j=0;j<v1.size();j++){System.out.print(wuXiangGraph.getG()[i][j]);System.out.print(" ");}System.out.println();}}//有向图带权,权每到下一条边加10//创造一个有向图 边长为6 A-B B-C C-D D_E E-Fpublic static void youXiangGraphQuCreat(){List<Character> v1=new ArrayList<>();for(int i=0;i<6;i++){v1.add((char)('A'+i));}int [][] g1=new int[v1.size()][v1.size()];//权int tem=0;for(int i=0;i<v1.size();i++){for(int j=0;j<v1.size();j++){if(i==0&&j==1||i==1&&j==2||i==2&&j==3|| i==3&&j==4||i==4&&j==5||i==5&&j==0){//边长为6 A-B B-C C-D D_E E-Fg1[i][j]=1+tem;tem+=10;}else {//其余都是0g1[i][j]=0;}}}GraphM wuXiangGraph=new GraphM(v1,g1);//打印校验//顶点System.out.println(wuXiangGraph.getV());//边for(int i= 0;i<v1.size();i++){for(int j=0;j<v1.size();j++){System.out.print(wuXiangGraph.getG()[i][j]);System.out.print(" ");}System.out.println();}}public static void main(String[] args) {//无向图wuXiangGraphCreat();youXiangGraphCreat();youXiangGraphQuCreat();}}

结果打印


http://www.ppmy.cn/devtools/162957.html

相关文章

muduo源码阅读:linux timefd定时器

⭐timerfd timerfd 是Linux一个定时器接口&#xff0c;它基于文件描述符工作&#xff0c;并通过该文件描述符的可读事件进行超时通知。可以方便地与select、poll和epoll等I/O多路复用机制集成&#xff0c;从而在没有处理事件时阻塞程序执行&#xff0c;实现高效的零轮询编程模…

直角三角堰计算公式

直角三角堰的计算公式通常用于确定流经直角三角形形状的堰的流量。河北瑾航科技遥测终端机 通过采集液位数据(模拟量、串口485/232)&#xff0c;计算得到瞬时流量&#xff0c;然后通过积分进行累计算出累积量&#xff1b;直角三角堰的流量计算公式为&#xff1a; 直角三角堰 计…

Java面试准备篇:全面了解面试流程与常见问题

文章目录 1.1 Java面试概述1.2 面试流程和注意事项1.3 自我介绍及项目介绍1.4 常见面试问题 在现代职场中&#xff0c;面试是求职过程中至关重要的一环&#xff0c;特别是对于Java开发者而言。为了帮助广大Java开发者更好地应对面试&#xff0c;本文将提供一份全面的Java面试…

编写第一个 C++ 程序 – Hello World 示例

“Hello World”程序是学习任何编程语言的第一步&#xff0c;也是您将学习的最直接的程序之一。它是用于演示编码过程如何工作的基本程序。您所要做的就是在输出屏幕上显示 “Hello World”。 C Hello World 程序 下面是在控制台屏幕上打印 “Hello World” 的 C 程序。 // …

开源模型应用落地-glm模型小试-glm-4-9b-chat-压力测试(六)

一、前言 GLM-4是智谱AI团队于2024年1月16日发布的基座大模型&#xff0c;旨在自动理解和规划用户的复杂指令&#xff0c;并能调用网页浏览器。其功能包括数据分析、图表创建、PPT生成等&#xff0c;支持128K的上下文窗口&#xff0c;使其在长文本处理和精度召回方面表现优异&a…

Unity FBXExport导出的FBX无法在Blender打开

将FBX转换为obj&#xff1a; Convert 3D models online - free and secure

kafka+spring cloud stream 发送接收消息

方案 1&#xff1a;使用旧版 StreamListener&#xff08;适用于 Spring Cloud Stream < 2.x&#xff09; 1. 添加依赖&#xff08;pom.xml&#xff09; <!-- Spring Cloud Stream Kafka Binder --> <dependency> <groupId>org.springframework.clo…

数据库(MySQL)二

MySQL 六、MySQL索引视图6.1 索引底层原理6.1.1 索引hash算法6.1.2 索引二叉树算法6.1.3 索引平衡二叉树算法6.1.4 索引BTREE树算法6.1.5 普通SQL全表扫描过程 6.2 索引分类6.2.1 按数据结构层次分类6.2.2 按字段数量层次分类6.2.3 按功能逻辑层次分类&#xff08;面试题&#…