Python和C++全球导航卫星系统和机器人姿态触觉感知二分图算法
🎯要点
🎯马尔可夫随机场网格推理学习 | 🎯二维伊辛模型四连网格模型推理 | 🎯统计物理学模型扰动与最大乘积二值反卷积 | 🎯受限玻尔兹曼机扰动和最大乘积采样 | 🎯视觉概率生成模型测试图像
🎯机器人图算法:运动建模、定位、姿态同时定位和绘图和基于地标的同时定位和绘图 | 🎯共轭梯度优化、视觉里程计、视觉同时定位和绘图图算法 | 🎯机器人运动最小二乘问题图算法 | 🎯全球导航卫星系统移动物体定位图算法 | 🎯机器人触觉估算物体姿态图算法
📜图模型用例
📜Python问题决策影响图结构化概率模型
📜Python汽车油耗活塞循环原木纱强度及电阻覆盖率现实统计模型计算
📜Python | R | MATLAB群体消息和遗传病筛选多元统计模型
📜Python神经模型评估微分方程图算法
📜Python精神病算法和自我认知异类数学模型
📜Python蜂窝通信Wi-Fi和GPU变分推理及暴力哈希加密协议图消息算法
🍪语言内容分比
🍇Python和C++二分图判断算法
二分图是一种图,其顶点可以分为两个独立的集合 U 和 V,并且每条边 (u, v) 要么连接从 U 到 V 的顶点,要么连接从 V 到 U 的顶点。换句话说,对于每条边 (u, v),要么 u 属于 U 且 v 属于 V,要么 u 属于 V 且 v 属于 U。我们也可以说没有边连接同一集合的顶点。
如果可以使用两种颜色对图进行着色,使得集合中的顶点用相同的颜色着色,则二分图是可能的。请注意,可以使用两种颜色对偶数环的循环图进行着色。例如,参见下图。
不可能使用两种颜色对具有奇数循环的循环图进行着色。
检查图是否为二分图的算法:一种方法是在着色问题中使用回溯算法来检查图是否是 2-可着色的。以下是一个简单的算法,用于确定给定图是否是二分图:
- 将红色分配给源顶点(放入 U 组中)。
- 将所有邻居涂上蓝色(放入集合 V 中)。
- 将所有邻居的邻居涂成红色(放入 U 组)。
- 这样,为所有顶点分配颜色,使其满足 m 路着色问题(其中 m = 2)的所有约束。
- 在分配颜色时,如果我们找到与当前顶点颜色相同的邻居,则该图不能用 2 个顶点着色(或者图不是二分图)
C++代码算法:
#include <iostream>
#include <queue>
#define V 4using namespace std;
bool isBipartite(int G[][V], int src)
{int colorArr[V];for (int i = 0; i < V; ++i)colorArr[i] = -1;colorArr[src] = 1;queue <int> q;q.push(src);while (!q.empty()){int u = q.front();q.pop();if (G[u][u] == 1)return false; for (int v = 0; v < V; ++v){if (G[u][v] && colorArr[v] == -1){colorArr[v] = 1 - colorArr[u];q.push(v);}else if (G[u][v] && colorArr[v] == colorArr[u])return false;}}return true;
}int main()
{int G[][V] = {{0, 1, 0, 1},{1, 0, 1, 0},{0, 1, 0, 1},{1, 0, 1, 0}};isBipartite(G, 0) ? cout << "Yes" : cout << "No";return 0;
}
Python算法:
class Graph():def __init__(self, V):self.V = Vself.graph = [[0 for column in range(V)] \for row in range(V)]def isBipartite(self, src):colorArr = [-1] * self.VcolorArr[src] = 1queue = []queue.append(src)while queue:u = queue.pop()if self.graph[u][u] == 1:return False;for v in range(self.V):if self.graph[u][v] == 1 and colorArr[v] == -1:colorArr[v] = 1 - colorArr[u]queue.append(v)elif self.graph[u][v] == 1 and colorArr[v] == colorArr[u]:return Falsereturn True
g = Graph(4)
g.graph = [[0, 1, 0, 1],[1, 0, 1, 0],[0, 1, 0, 1],[1, 0, 1, 0]]print ("Yes" if g.isBipartite(0) else "No")
上述算法仅在图连通时才有效。在上述代码中,我们始终从源 0 开始,并假设从该源访问顶点。一个重要的观察结果是,没有边的图也是二分图。请注意,二分图条件表示所有边都应从一个集合到另一个集合。我们可以扩展上述代码以处理图不连通的情况。对于所有尚未访问的顶点,重复调用上述方法。
C++算法:
#include <bits/stdc++.h>using namespace std;const int V = 4;
bool isBipartiteUtil(int G[][V], int src, int colorArr[])
{colorArr[src] = 1;queue<int> q;q.push(src);while (!q.empty()) {int u = q.front();q.pop();if (G[u][u] == 1)return false;for (int v = 0; v < V; ++v) {if (G[u][v] && colorArr[v] == -1) {colorArr[v] = 1 - colorArr[u];q.push(v);}else if (G[u][v] && colorArr[v] == colorArr[u])return false;}}return true;
}bool isBipartite(int G[][V])
{int colorArr[V];for (int i = 0; i < V; ++i)colorArr[i] = -1;for (int i = 0; i < V; i++)if (colorArr[i] == -1)if (isBipartiteUtil(G, i, colorArr) == false)return false;return true;
}int main()
{int G[][V] = { { 0, 1, 0, 1 },{ 1, 0, 1, 0 },{ 0, 1, 0, 1 },{ 1, 0, 1, 0 } };isBipartite(G) ? cout << "Yes" : cout << "No";return 0;
}
Python算法:
class Graph():def __init__(self, V):self.V = Vself.graph = [[0 for column in range(V)]for row in range(V)]self.colorArr = [-1 for i in range(self.V)]def isBipartiteUtil(self, src):queue = []queue.append(src)while queue:u = queue.pop()if self.graph[u][u] == 1:return Falsefor v in range(self.V):if (self.graph[u][v] == 1 andself.colorArr[v] == -1):self.colorArr[v] = 1 - self.colorArr[u]queue.append(v)elif (self.graph[u][v] == 1 andself.colorArr[v] == self.colorArr[u]):return Falsereturn Truedef isBipartite(self):self.colorArr = [-1 for i in range(self.V)]for i in range(self.V):if self.colorArr[i] == -1:if not self.isBipartiteUtil(i):return Falsereturn True
g = Graph(4)
g.graph = [[0, 1, 0, 1],[1, 0, 1, 0],[0, 1, 0, 1],[1, 0, 1, 0]]print ("Yes" if g.isBipartite() else "No")
👉参阅、更新:计算思维 | 亚图跨际
相关文章:

Python和C++全球导航卫星系统和机器人姿态触觉感知二分图算法
🎯要点 🎯马尔可夫随机场网格推理学习 | 🎯二维伊辛模型四连网格模型推理 | 🎯统计物理学模型扰动与最大乘积二值反卷积 | 🎯受限玻尔兹曼机扰动和最大乘积采样 | 🎯视觉概率生成模型测试图像 dz…...

Unity 优化合集
1️⃣ 贴图优化 1. Read/Write Enable 这个属性勾选后允许你在运行时读取和写入纹理数据,这对于需要实时生成内容或者需要动态修改纹理的场合非常有用但在大部分情况下这是不必要的。如果打开这个属性,会使运行时贴图大小翻倍,内存中会额外…...
第九届MathorCup高校数学建模挑战赛-A题:基于数据驱动的城市轨道交通网络优化研究
目录 摘 要 一、 问题的提出 二、 基本假设 三、 符号说明 四、 问题分析 4.1 问题 1 的分析 4.2 问题 2 的分析 4.3 问题 3 的分析 4.4 问题 4 的分析 五、 问题 1 的模型建立与求解 5.1 问题分析 5.2 数据处理 5.2.1 数据统计 5.2.2 异常数据处理方法 5.2.3 剔除异常数据值 5…...

Spring webflux基础核心技术
一、 用操作符转换响应式流 1 、 映射响应式流元素 转换序列的最自然方式是将每个元素映射到一个新值。 Flux 和 Mono 给出了 map 操作符,具有 map(Function<T,R>) 签名的方法可用于逐个处理元素。 当操作符将元素的类型从 T 转变为 R 时…...

关闭Ubuntu烦人的apport
先来看让人绷不住的(恼) 我查半天apport是啥玩意发现就一错误报告弹窗,十秒钟给我弹一次一天给我内存弹爆了 就算我程序就算真的不停崩溃,也没你这傻比apport杀伤性强啊??? 原则上是不建议关闭…...

海事无人机解决方案
海事巡察 海事巡察现状 巡查效率低下,存在视野盲区,耗时长,人力成本高。 海事的职能 统一管理水上交通安全和防治船舶污染。 管理通航秩序、通航环境。负责水域的划定和监督管理,维护水 上交通秩序;核定船舶靠泊安…...
Docker--在linux安装软件
Docker 引用Docker原因是在linux中安装软件 以前在linux中安装软件,是直接安装在linux操作系统上,软件和操作系统耦合度很高,不方便管理,因为linux版本不同,环境也就改变了 docker是一种容器技术,提供标…...

知识库与RAG
认识知识库的技术原理 第一步:📖➡️📈将文档的文本转换为向量,向量存储到向量数据库。第二步:🗨️➡️🔍将用户的提问内容转换成向量,在向量数据库中检索相似的文本内容࿰…...
【2024最新】C++扫描线算法介绍+实战例题
扫描线介绍:OI-Wiki 【简单】一维扫描线(差分优化) 网上一维扫描线很少有人讲,可能认为它太简单了吧,也可能认为这应该算在差分里(事实上讲差分的文章里也几乎没有扫描线的影子)。但我认为&am…...

语言主要是一种交流工具,而不是思维工具?GPT5何去何从?
引言 在人工智能领域,特别是大语言模型(LLM)的发展中,语言和思维的关系一直是一个备受关注的话题。近期,麻省理工学院(MIT)在《Nature》杂志上发表了一篇题为《Language is primarily a tool f…...

传感器标定(三)激光雷达外参标定(lidar2ins)
一、数据采集 1、LiDAR 传感器的 LiDAR PCD 数据 2、来自 IMU 传感器的姿势文件 3、手动测量传感器之间外部参数初始值并写入的 JSON 文件 二、下载标定工具 //总的git地址: https://github.com/PJLab-ADG/SensorsCalibration git地址: https://githu…...

【漏洞复现】Crocus系统—Download 文件读取
声明:本文档或演示材料仅用于教育和教学目的。如果任何个人或组织利用本文档中的信息进行非法活动,将与本文档的作者或发布者无关。 一、漏洞描述 Crocus系统中的Download文件读取漏洞允许未经身份验证的攻击者通过特定请求读取系统上的任意文件。Crocu…...
游戏开发面试题1
说说对单例模式的了解 单例模式(Singleton Pattern)是一种设计模式,其目的是确保一个类只有一个实例,并提供一个全局访问点来访问该实例。这在某些情况下非常有用,比如需要一个唯一的配置管理器、日志记录器、或资源管…...

线程池笔记
笔记梳理 前言.PHONYC标准库头文件C/C通用或C特有头文件mkdirc_str()snprintfvsnprintfumaskopen函数可变参数列表va_startva_endfunctionalstatic_castpthread_cond_init_threads.emplace_backstd::bindstd::placeholdersThreadPool(const ThreadPool<T> &tp) dele…...
Go语言基础数据类型、变量及自增语法
本文内容为Go语言的基础数据类型、变量定义和赋值及自增语法介绍。 目录 基础数据类型 变量 先定义后赋值 定义时直接赋值 自动推导定义赋值 平行赋值 自增语法 总结 基础数据类型 int,int8 intl6, int32, int64 uint8... uint64 float32,float64 true/false 变量 …...
ES6-ES13符号:单双引号、变量的解构赋值、占位符 、字符串模版`${} `、扩展运算符...、?,??,_,||=,=,in
原型、this、闭包,for四类循环,ES6-14(2023)_es6-es14-CSDN博客 目录 查看ES版本 单双引号:无区别 变量的解构赋值:声明变量被数组/对象中的元素赋值 推荐用const,因为是从其他地方获取值 …...

【远景能源25届校招PI测评】题型深度解析与应试策略
摘要: 远景能源作为新能源行业的领军企业,其校园招聘备受瞩目。本文将深入分析25届远景能源校招的PI测评题型,为求职者提供全面的备考指南。 正文: 尊敬的求职者们,您是否正准备迎接远景能源的校招挑战?P…...

关于Qt Creator 使用Qt Quick的Design模式设置
关于使用Qt Quick的Design模式设置: 如描述所言: 如果使用Design模式打开qml文件失败显示如下: 首先确认自己是否安装了Qt Design Studio 如果安装了仍然不显示,则需要勾选下面三个地方才能用Design模式打开.ui.qml文件&#…...
Spring常见问题一:IOC和DI
IOC和DI IOC和DI之间到底是什么关系? 什么是依赖关系?依赖关系会带来什么问题?Spring是怎么来支持依赖注入的? 引言 在现代软件开发中,面向对象编程(OOP)已经成为主流编程范式。然而࿰…...

LabVIEW红外热波图像缺陷检
开发使用LabVIEW开发的红外热波图像缺陷检测系统。该系统结合红外热像仪、工业相机和高效的数据采集硬件,实现对工件表面缺陷的自动检测和分析。通过LabVIEW的强大功能,系统能够实时采集、处理和显示红外热波图像,有效提高了检测的精度和效率…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...

超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...

九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...