Prime算法
邻接矩阵版推荐 n≤5000稠密图时间复杂度O(n2)无需预建邻接矩阵动态计算边权适配圆形 / 坐标类场景是算法题中最常用的版本。import java.util.Arrays; /** * Prim算法模板邻接矩阵版动态计算边权 * 适用场景节点数n≤5000的稠密图边权可动态计算如坐标类问题 * param n 节点总数 * param nodes 节点信息数组可根据场景自定义比如圆形的x/y/r * return 最小生成树的总权重 */ public class PrimTemplate { // 示例适配圆形场景的节点结构可根据实际需求修改 static class Node { int x, y, r; Node(int x, int y, int r) { this.x x; this.y y; this.r r; } } // 核心Prim算法实现动态计算边权 public static double prim(int n, Node[] nodes) { // 1. 初始化核心数组 boolean[] vis new boolean[n]; // 标记节点是否加入已选集合 double[] minDist new double[n]; // 记录每个节点到已选集合的最小距离 Arrays.fill(minDist, Double.MAX_VALUE); // 初始化为无穷大 minDist[0] 0.0; // 选0号节点作为起点 double totalWeight 0.0; // 最小生成树总权重 // 2. 主循环依次选择n个节点加入集合 for (int i 0; i n; i) { // 步骤1找到未访问、距离已选集合最近的节点u int u -1; double minVal Double.MAX_VALUE; for (int j 0; j n; j) { if (!vis[j] minDist[j] minVal) { minVal minDist[j]; u j; } } // 防御性判断所有节点已选n≥1时不会触发 if (u -1) break; // 步骤2将u加入已选集合累加权重 vis[u] true; totalWeight minVal; // 步骤3松弛操作——更新所有未访问节点的最小距离 for (int v 0; v n; v) { if (!vis[v]) { // 关键根据场景自定义边权计算逻辑 // 示例圆形场景的边权 max(0, 圆心距离 - 两圆半径和) long dx nodes[u].x - nodes[v].x; long dy nodes[u].y - nodes[v].y; double centerDist Math.sqrt(dx * dx dy * dy); double edgeWeight Math.max(0.0, centerDist - nodes[u].r - nodes[v].r); // 其他场景示例如普通邻接矩阵 // double edgeWeight graph[u][v]; // graph是预定义的邻接矩阵 // 更新最小距离 if (edgeWeight minDist[v]) { minDist[v] edgeWeight; } } } } return totalWeight; } // 测试示例圆形连接场景 public static void main(String[] args) { int n 3; // 3个圆形节点 Node[] nodes new Node[n]; nodes[0] new Node(0, 0, 1); nodes[1] new Node(3, 0, 1); nodes[2] new Node(6, 0, 1); double result prim(n, nodes); System.out.printf(最小生成树总权重%.2f\n, result); // 输出2.00 } }

相关新闻

YOLO26手势识别项目实战1-石头剪刀布实时检测系统数据集说明(含下载链接)

YOLO26手势识别项目实战1-石头剪刀布实时检测系统数据集说明(含下载链接)

一. 前言 本篇博客是《YOLO26手势识别项目实战》系列文章之《石头剪刀布数据集说明(含下载链接)》,网上有很多石头剪刀布数据集的数据,百度一下,一搜一大堆,但质量参差不齐,很多不能用,即使一个一个的看也…

2026/7/10 14:18:47 阅读更多 →
YOLO26手势识别项目实战2-石头剪刀布实时检测系统数据集说明(含训练代码和数据集)

YOLO26手势识别项目实战2-石头剪刀布实时检测系统数据集说明(含训练代码和数据集)

YOLO26手势识别项目实战2-石头剪刀布实时检测系统,其能识别检测出3种手势手语:names: [Rock,Paper,Scissors] 具体图片见如下: 第一步:YOLO26介绍 YOLO26采用了端到端无NMS推理,直接生成预测结果,无需非极…

2026/7/3 16:49:11 阅读更多 →
三极管信号放大电路的应用

三极管信号放大电路的应用

目录 一、 信号放大类 1、低频电压放大 Multisim仿真分析 2、高频信号放大 Multisim仿真分析 3、缓冲与阻抗匹配 Multisim仿真分析 摘要 三极管在电子电路中有两大核心应用:开关和放大。放大应用主要通过共射、共基、共集三种组态实现信号放大,其中共射组态适用于低频…

2026/7/8 1:56:39 阅读更多 →

最新新闻

SUID无障碍访问(a11y)指南:如何构建符合WCAG标准的Material Design应用

SUID无障碍访问(a11y)指南:如何构建符合WCAG标准的Material Design应用

SUID无障碍访问(a11y)指南:如何构建符合WCAG标准的Material Design应用 【免费下载链接】suid A port of Material-UI (MUI) built with SolidJS. 项目地址: https://gitcode.com/gh_mirrors/su/suid 构建无障碍的Web应用是现代前端开…

2026/7/12 19:31:59 阅读更多 →
第7篇:六大设计原则在模板方法中的体现

第7篇:六大设计原则在模板方法中的体现

第7篇:六大设计原则在模板方法中的体现 摘要:模板方法模式如何体现单一职责、开闭原则、里氏替换等六大设计原则?本文用一张对照表和逐条解读,帮你建立模式与原则之间的深层联系,不仅会用,还能讲出设计背后…

2026/7/12 19:29:59 阅读更多 →
【Midjourney材质质感终极指南】:20年AI视觉工程师亲授17种金属/织物/玻璃质感提示词配方与参数调优逻辑

【Midjourney材质质感终极指南】:20年AI视觉工程师亲授17种金属/织物/玻璃质感提示词配方与参数调优逻辑

更多请点击: https://kaifayun.com 第一章:材质质感在AI图像生成中的底层逻辑与视觉心理学基础 材质质感并非图像中简单的纹理叠加,而是人类视觉系统对光—物交互的长期经验建模结果。当AI模型生成一张“磨砂玻璃”图像时,其有效…

2026/7/12 19:29:59 阅读更多 →
Canva AI模板效率翻倍:3步解锁自动适配多平台尺寸的隐藏技巧(92%用户从未启用)

Canva AI模板效率翻倍:3步解锁自动适配多平台尺寸的隐藏技巧(92%用户从未启用)

更多请点击: https://codechina.net 第一章:Canva AI社交媒体模板的核心价值与适用场景 Canva AI社交媒体模板并非简单的设计素材库,而是融合自然语言理解、视觉生成与平台适配能力的智能内容生产引擎。其核心价值在于将模糊的创意意图&…

2026/7/12 19:27:58 阅读更多 →
为什么92%的团队测错了ChatGPT文案?——从提示词扰动、温度系数耦合到用户意图分层的深度拆解

为什么92%的团队测错了ChatGPT文案?——从提示词扰动、温度系数耦合到用户意图分层的深度拆解

更多请点击: https://codechina.net 第一章:为什么92%的团队测错了ChatGPT文案?——从提示词扰动、温度系数耦合到用户意图分层的深度拆解 当团队用“写一段吸引人的产品介绍”作为测试提示时,他们其实正在用一把钝刀解剖一只量子…

2026/7/12 19:23:57 阅读更多 →
Kimi-K2.5-W4A8多模态处理:图像与文本融合的终极架构解析

Kimi-K2.5-W4A8多模态处理:图像与文本融合的终极架构解析

Kimi-K2.5-W4A8多模态处理:图像与文本融合的终极架构解析 【免费下载链接】Kimi-K2.5-W4A8 项目地址: https://ai.gitcode.com/hf_mirrors/amd/Kimi-K2.5-W4A8 Kimi-K2.5-W4A8是一款基于AMD硬件优化的先进多模态AI模型,专为图像与文本融合处理而…

2026/7/12 19:23:57 阅读更多 →

日新闻

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨 在一个阳光明媚的上午,互联网大厂的面试官坐在桌前,准备迎接他的面试候选人——燕双非,一个以搞笑和幽默著称的程序员。第一轮提问 面试官:燕双非,作…

2026/7/12 0:03:13 阅读更多 →
车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估在智能驾驶和车联网技术快速发展的今天,车载以太网作为新一代车载网络的核心传输技术,其物理层性能直接决定了数据传输的可靠性和稳定性。1000BASE-T1作为当前主流的…

2026/7/12 0:03:14 阅读更多 →
VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战指南嵌入式开发领域正经历一场工具链的静默革命。当传统Keil用户首次打开VSCode的扩展市场搜索EIDE时,往往会惊讶于这个看似简单的插件竟能重构十余年的开发习惯。本文将揭示如何用五个精准步骤&#xff0…

2026/7/12 0:03:14 阅读更多 →

周新闻

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨 在一个阳光明媚的上午,互联网大厂的面试官坐在桌前,准备迎接他的面试候选人——燕双非,一个以搞笑和幽默著称的程序员。第一轮提问 面试官:燕双非,作…

2026/7/12 0:03:13 阅读更多 →
车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估在智能驾驶和车联网技术快速发展的今天,车载以太网作为新一代车载网络的核心传输技术,其物理层性能直接决定了数据传输的可靠性和稳定性。1000BASE-T1作为当前主流的…

2026/7/12 0:03:14 阅读更多 →
VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战指南嵌入式开发领域正经历一场工具链的静默革命。当传统Keil用户首次打开VSCode的扩展市场搜索EIDE时,往往会惊讶于这个看似简单的插件竟能重构十余年的开发习惯。本文将揭示如何用五个精准步骤&#xff0…

2026/7/12 0:03:14 阅读更多 →

月新闻