当前位置: 首页 > news >正文

Java数据结构与算法:邻接矩阵和邻接表

Java数据结构与算法:邻接矩阵和邻接表

大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!

什么是邻接矩阵和邻接表?

在图的表示中,邻接矩阵和邻接表是两种常见的方式,用于表示图中节点之间的关系。

1. 邻接矩阵

邻接矩阵是一个二维数组,其中的元素a[i][j]表示节点i到节点j是否有边。对于有权图,元素值可能表示权重。

2. 邻接表

邻接表是由节点的链表组成,每个节点的链表存储该节点相邻的节点。对于有权图,链表节点中可能包含权重信息。

邻接矩阵的Java实现

public class AdjacencyMatrixGraph {private int V; // 节点数private int[][] adjMatrix; // 邻接矩阵public AdjacencyMatrixGraph(int v) {V = v;adjMatrix = new int[v][v];}// 添加边public void addEdge(int v, int w, int weight) {adjMatrix[v][w] = weight;// 如果是无向图,还需将下面这行取消注释// adjMatrix[w][v] = weight;}
}

邻接表的Java实现

import java.util.LinkedList;// 以邻接表表示的有向图
public class AdjacencyListGraph {private int V; // 节点数private LinkedList<Integer>[] adjList; // 邻接表public AdjacencyListGraph(int v) {V = v;adjList = new LinkedList[v];for (int i = 0; i < v; ++i)adjList[i] = new LinkedList<>();}// 添加边public void addEdge(int v, int w) {adjList[v].add(w);// 如果是无向图,还需将下面这行取消注释// adjList[w].add(v);}
}

邻接矩阵和邻接表的选择

  • 邻接矩阵: 适用于稠密图,即边的数量接近节点数量的平方。
  • 邻接表: 适用于稀疏图,即边的数量远小于节点数量的平方。

总结

邻接矩阵和邻接表是图的两种基本表示方法,选择哪种取决于图的特性。在实际应用中,需要根据图的密度和算法的需求来灵活选择。希望通过这篇文章,大家对邻接矩阵和邻接表有了清晰的认识。在后续的文章中,我们将深入讨论图的遍历、最短路径等算法。

相关文章:

Java数据结构与算法:邻接矩阵和邻接表

Java数据结构与算法&#xff1a;邻接矩阵和邻接表 大家好&#xff0c;我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 什么是邻接矩阵和邻接表&#xff1f; 在图的表示中&#xff0c…...

【温故而知新】JavaScript类、类继承、静态方法

文章目录 前言一、类二、类继承三、静态方法四、热门文章 前言 JavaScript是一种广泛使用的编程语言&#xff0c;主要用于Web开发。它是一种脚本语言&#xff0c;这意味着它不需要像编译语言那样预先编译&#xff0c;而是在运行时解释和执行。JavaScript可以直接在浏览器中运行…...

小黑艰难的前端啃bug之路:内联元素之间的间隙问题

今天开始学习前端项目&#xff0c;遇到了一个Bug调了好久&#xff0c;即使margin为0&#xff0c;但还是有空格。 小黑整理&#xff0c;用四种方法解决了空白问题 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></tit…...

Ubuntu 申请 SSL证书并搭建邮件服务器

文章目录 Log 一、域名连接到泰坦&#xff08;Titan&#xff09;电子邮件二、NameSilo Hosting 避坑三、Ubuntu 搭建邮件服务器1. 环境准备2. 域名配置3. 配置 Postfix 和 Dovecot① 安装 Nginx② 安装 Tomcat③ 申请 SSL 证书&#xff08;Lets Encrypt&#xff09;④ 配置 pos…...

视频监控方案设计:EasyCVR视频智能监管系统方案技术特点与应用

随着科技的发展&#xff0c;视频监控平台在各个领域的应用越来越广泛。然而&#xff0c;当前的视频监控平台仍存在一些问题&#xff0c;如视频质量不高、监控范围有限、智能化程度不够等。这些问题不仅影响了监控效果&#xff0c;也制约了视频监控平台的发展。 为了解决这些问…...

pyspark.sql.types 中的类型有哪些

对 pyspark.sql.types 中的类型做个记录 1、首先正常使用的时候&#xff0c;我们需要引用他们&#xff1a; from pyspark.sql.types import MapType,StringType # 或者 from pyspark.sql.types import *PySpark SQL TYPES是PySpark模型中的一个类&#xff0c;用于定义PySpark数…...

开源CRM客户管理系统-FeelCRM

FeelCRM客户管理系统 开源项目介绍 FeelCRM客户管理系统&#xff0c;符合中小企业业务流程&#xff1b;支持线索管理、客户管理、商机管理、合同管理、审核管理等多个模块&#xff1b;希望能为广大中小企业以及开发者们提供一个更多的可能性&#xff1b;本版本是我公司跨语言…...

Linux创建新分区挂载后普通用户没有读写权限

Linux创建新分区挂载后普通用户没有读写权限 为了使用更大的空间&#xff0c;楼主按照 ubuntu 16.04 硬盘分区&#xff0c;挂载&#xff0c;硬盘分区方案 这个教程新建硬盘分区给普通用户挂载后&#xff0c;发现普通用户没有权限对挂载的文件夹进行读写。 导致无论是创建文…...

清越 peropure·AI 国内版ChatGP新功能介绍

当OpenAI发布ChatGPT的时候,没有人会意识到,新一代人工智能浪潮将给人类社会带来一场眩晕式变革。其中以ChatGPT为代表的AIGC技术加速成为AI领域的热门发展方向,推动着AI时代的前行发展。面对技术浪潮,清越科技(PeroPure)立足多样化生活场景、精准把握用户实际需求,持续精确Fin…...

力扣1027. 最长等差数列

动态规划 思路&#xff1a; 可以参考力扣1218. 最长定差子序列目前不清楚公差&#xff0c;可以将序列最大最小值找到&#xff0c;公差的范围是 [-(max - min), (max - min)]&#xff0c;按公差递增迭代遍历求出最长等差数列&#xff1b; class Solution { public:int longest…...

GraphicsMagick 的 OpenCL 开发记录(二十三)

文章目录 ImageMagick和GraphicsMagick函数及宏对照表 <2022-04-14 周四> ImageMagick和GraphicsMagick函数及宏对照表 在开发过程中收集了这两个项目中的一些相同或相似功能的函数或者宏定义&#xff0c;希望对大家有所帮助&#xff0c;如下&#xff1a; TypeImageMa…...

通过Android Logcat分析firebase崩溃

参考&#xff1a;UnityIL2CPP包Crash闪退利用Android Logcat还原符号表堆栈日志 - 简书 一、安装Android Logcat插件 1、新建空白unity工程&#xff0c;打开PackageManager窗口&#xff0c;菜单栏Window/PackageManager 2、PackageManager中安装Android Logcat日志工具 3、安…...

【AI大模型】WikiChat超越GPT-4:在模拟对话中事实准确率提升55%终极秘密

WikiChat&#xff0c;这个名字仿佛蕴含了无尽的智慧和奥秘。它不仅是一个基于人工智能和自然语言处理技术的聊天机器人&#xff0c;更是一个能够与用户进行深度交流的智能伙伴。它的五个突出特点&#xff1a;高度准确、减少幻觉、对话性强、适应性强和高效性能&#xff0c;使得…...

【C语言刷题系列】水仙花数的打印及进阶

1.水仙花数问题 水仙花数&#xff08;Narcissistic number&#xff09;也被称为超完全数字不变数&#xff08;pluperfect digital invariant, PPDI&#xff09;、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数&#xff08;Armstrong number&#xff09; 水仙花数是指一个 3 位数&a…...

ICSpector:一款功能强大的微软开源工业PLC安全取证框架

关于ICSpector ICSpector是一款功能强大的开源工业PLC安全取证框架&#xff0c;该工具由微软的研究人员负责开发和维护&#xff0c;可以帮助广大研究人员轻松分析工业PLC元数据和项目文件。 ICSpector提供了方便的方式来扫描PLC并识别ICS环境中的可疑痕迹&#xff0c;可以用于…...

HCIA——29HTTP、万维网、HTML、PPP、ICMP;万维网的工作过程;HTTP 的特点HTTP 的报文结构的选择、解答

学习目标&#xff1a; 计算机网络 1.掌握计算机网络的基本概念、基本原理和基本方法。 2.掌握计算机网络的体系结构和典型网络协议&#xff0c;了解典型网络设备的组成和特点&#xff0c;理解典型网络设备的工作原理。 3.能够运用计算机网络的基本概念、基本原理和基本方法进行…...

面试经典题---3.无重复字符的最长子串

3.无重复字符的最长子串 我的解法&#xff1a; 滑动窗口&#xff1a; 维护一个[left, right)的滑动窗口&#xff0c;其中[left, right - 1]都是不重复子串&#xff1b;每轮while循环都计算一个滑动窗口的无重复子串长度len&#xff0c;每轮也让right后移一步&#xff1b; 内部…...

使用Robot Framework实现多平台自动化测试

基于Robot Framework、Jenkins、Appium、Selenium、Requests、AutoIt等开源框架和技术&#xff0c;成功打造了通用自动化测试持续集成管理平台&#xff08;以下简称“平台”&#xff09;&#xff0c;显著提高了测试质量和测试用例的执行效率。 01、设计目标 平台通用且支持不…...

Java基础进阶02-xml

目录 一、XML&#xff08;可拓展标记语言&#xff09; 1.学习网站&#xff1a; 2.作用 3.XML标签 4.XML语法 5.解析XML &#xff08;1&#xff09;常见解析思想DOM 6.常见的解析工具 7.DOM4j的使用 8.文档约束 &#xff08;1&#xff09;概述 &#xff08;2&#xf…...

《开始使用PyQT》 第01章 PyQT入门 03 用户界面介绍

03 用户界面介绍 《开始使用PyQT》 第01章 PyQT入门 03 用户界面介绍 The user interface (UI) has become a key part of our everyday lives, becoming the intermediary between us and our ever-growing number of machines. A UI is designed to facilitate in human-co…...

【脚本篇】---vim下verilog-mode-v2的高效开发实践

1. 为什么选择vimverilog-mode-v2组合 第一次接触Verilog代码时&#xff0c;我用的是各种图形化IDE&#xff0c;直到有次在服务器上紧急修改代码才发现&#xff1a;原来vim配合verilog-mode插件可以这么高效。这个组合就像瑞士军刀里的主刀——看起来朴实无华&#xff0c;但能解…...

从零搭建一个HarmonyOS版GitCode客户端:我的React Native项目目录结构与配置心得

从零搭建HarmonyOS版GitCode客户端的工程化实践 作为一名长期耕耘在跨平台开发领域的技术实践者&#xff0c;我最近完成了基于React Native的HarmonyOS版GitCode客户端开发。这个项目让我深刻体会到&#xff0c;良好的项目结构设计比功能实现更重要——它直接影响团队协作效率和…...

Axure RP中文语言包:3分钟快速汉化你的原型设计工具

Axure RP中文语言包&#xff1a;3分钟快速汉化你的原型设计工具 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包&#xff0c;不定期更新。支持 Axure 9、Axure 10。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 对于…...

SenseVoice-small保姆级教程:Mac/Windows本地快速启动WebUI步骤

SenseVoice-small保姆级教程&#xff1a;Mac/Windows本地快速启动WebUI步骤 你是不是也遇到过这样的场景&#xff1f;开完会想整理录音&#xff0c;发现要上传到云端才能转文字&#xff0c;担心隐私泄露&#xff1b;或者想给视频加字幕&#xff0c;但手动打字太费时间&#xf…...

简单三步上手:bilibili-parse视频解析工具完整指南

简单三步上手&#xff1a;bilibili-parse视频解析工具完整指南 【免费下载链接】bilibili-parse bilibili Video API 项目地址: https://gitcode.com/gh_mirrors/bi/bilibili-parse 还在为无法离线观看B站视频而烦恼吗&#xff1f;bilibili-parse是一个强大的B站视频解析…...

实战详解:从零构建 LangChain 智能 Agent,让大模型真正“动起来”!

文章目录&#x1f4d6; 一、为什么我们需要 Agent&#xff1f;&#x1f504; Agent 核心工作流图解&#x1f6e0;️ 二、环境准备与核心组件核心组件介绍&#x1f4bb; 三、实战代码&#xff1a;构建“全能数据分析师”Agent1. 定义工具 (Tools)2. 构建 Agent 逻辑 (ReAct 模式…...

Llama-3.2V-11B-cot效果展示:‘打字机式’CoT推演过程动态演示

Llama-3.2V-11B-cot效果展示&#xff1a;‘打字机式’CoT推演过程动态演示 1. 项目概述 Llama-3.2V-11B-cot是基于Meta Llama-3.2V-11B多模态大模型开发的高性能视觉推理工具。这款工具针对双卡RTX 4090环境进行了深度优化&#xff0c;特别修复了视觉权重加载的关键Bug&#…...

STM32WU55蓝牙开发避坑指南:从官方例程到8通道肌电信号传输实战

STM32WU55蓝牙开发避坑指南&#xff1a;从官方例程到8通道肌电信号传输实战 当肌电信号采集遇上低功耗蓝牙&#xff0c;工程师们往往面临一个尴尬的平衡&#xff1a;既要满足医疗级数据精度&#xff0c;又要兼顾穿戴设备的续航需求。STM32WU55系列以其双核架构和集成射频模块&a…...

AI 模型精度与性能的权衡

AI模型精度与性能的权衡&#xff1a;寻找最佳平衡点 在人工智能领域&#xff0c;模型的精度与性能往往是一对矛盾体。精度代表模型预测的准确性&#xff0c;而性能则涉及计算速度、资源占用和实时性等指标。开发者常常需要在两者之间做出权衡&#xff0c;以满足不同场景的需求…...

【Python 3.14 JIT性能跃迁指南】:实测提升327%吞吐量的7大调优指令与避坑清单

第一章&#xff1a;Python 3.14 JIT 编译器性能调优Python 3.14 引入了实验性内置 JIT&#xff08;Just-In-Time&#xff09;编译器&#xff0c;基于 LLVM 后端实现&#xff0c;旨在对热点函数进行动态编译优化。该 JIT 默认处于禁用状态&#xff0c;需通过环境变量或运行时 AP…...