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

备战蓝桥杯:树的存储与遍历(dfs和bfs)

树的概念

树的逻辑结构是树形结构,和我们之前的线性结构又不太一样了,是一种一对多的关系

树的结点分为根节点,叶子结点(没有分支的结点) 以及分支结点

从上往下看,每个结点都有0个或多个后继

从下往上看,每个结点除了根结点以外都有一个前驱结点

所以每个结点都有一条边去连接前驱结点,而根结点没有边连接前驱结点,所以结点数=边数+1(除了根结点每个结点都有一条边连接前驱结点,再加上根结点就是结点的个数)

如图,从下往上看,除了根结点,每个结点都有一个前驱结点,也就是对应一条边。所以结点数=边数(9)+1 = 10

关于树的一些相关术语

父结点:直接前驱,根结点没有父结点

孩子结点:直接后继,叶子结点没有直接后继

结点的度:该结点孩子的个数,比如上图A结点的度就是3

树的度:所有结点的度的最大值

树的高度:一共有多少层,图中有四层

两个结点之间的路径:两个结点之间的最短路径

路径长度:两点的路径中,边的个数

有序树:结点的子树顺序按从左到右有序,不能随意更改

无序树:结点的子树顺序是无序的,随便变,没事儿

我们竞赛一般用的都是无序树

有根树:根是固定的

无根树:根是不固定的

(无根树会导致父子关系不明确,我们要把所有清空都存储起来,比如假如a和b之间存在一条边,那我们既要把a存在b的孩子里,也要把b存在a的孩子里)

我们竞赛中用的都是无根树

树的存储

关于树的存储方式有很多,我们本篇文章只学孩子表示法,未来我们的并查集里会学到双亲表示法,竞赛里,我们只需要掌握这两种表示方法就ok了

孩子表示法:对于每个结点,把他所有的孩子全部存起来

因为我们竞赛都是无根树,我们需要把所有情况都考虑到

用vector数组实现孩子表示法

我们竞赛里,一般都是这样给信息

我们首先要创建一个大小充足 的vector的数组,把每个结点的孩子都各自存储在各自的vector里面

如图,我们九个结点,我们就创建一个大小为10的vector数组,下标为0的vector数组我们不用

#include <iostream>
#include <vector>
using namespace std;
const int N = 1e5 + 10;
vector <int> v1[N];
int main()
{int n;cin >> n;}

比如我们看第一个输入的是3和1,那么3和1之间有一条边,我们竞赛都是无根树,所以我们把3当成1的孩子存一次,把1当成3的孩子存一次

1的孩子结点:2,3,4

2的孩子结点:1,5,6

3的孩子结点:1

4的孩子结点:1,7,8,9

5的孩子结点:2

6的孩子结点:2

7,8,9的孩子结点:4

存储时候的代码

#include <iostream>
#include <vector>
using namespace std;
const int N = 1e5 + 10;
vector <int> v1[N];
int main()
{int n;cin >> n;for (int i = 1; i < n; i++){int x, y; cin >> x >> y;v1[x].push_back(y);v1[y].push_back(x);}}

用链式前向星实现孩子表示法

链式前向星就是用链表来存储所有的孩子

我们需要创建一个数组来存储每个结点的一个哨兵位,

然后创建一个哨兵位数组2倍的数组来存储完成e[2*N]和ne[2*N]的数组,还要有id表示存储位置(这里是两倍,因为我们有的结点可能不止一个边,那么就有可能存储两次)

我们实现的时候就是用头插来实现的

比如这个图,我们3和1有一条边,那我们就要把3的哨兵位连接一个1,把1结点的哨兵位连接一个3,代码也就是:id++,e[id] = 1,ne[id]=h[3] h[3] = id,这是把1连接到3的哨兵位,3连接1同理,我们暂且不实现,3和4有一条边,我们把4连接到3的哨兵位的后面,同样是采取头插,id++,e[id]=4,ne[id]=h[3],h[3]=id,这样我们的3结点哨兵位就变成了 头->4->1了,也就是3的两个孩子

实现完整代码如下

#include <iostream>
#include <vector>
using namespace std;
const int N = 1e5 + 10;
int h[N], e[2 * N], ne[2 * N], id;
void add(int x, int y)
{id++;e[id] = x;ne[id] = h[y];h[y] = id;
}
int main()
{int n;cin >> n;for (int i = 1; i < n; i++){int x, y; cin >> x >> y;add(x, y); add(y, x);}
}

树的遍历(DFS和BFS)

DFS,即深度优先遍历,英文叫做Depth First Search

是一种遍历树或者图的一种算法,所谓深度优先遍历,就是每次都尝试往更深的结点走

也就是一条路走到黑

从根结点开始,遍历根结点的孩子,然后再以这个孩子为根遍历它的孩子,所以我们可以写成一种递归的形式

vector存储的树进行dfs

#include <iostream>
#include <vector>
using namespace std;
const int N = 1e6 + 10;
vector <int> edges[N];
bool st[N];void dfs(int u)
{cout << u << " ";st[u] = true;for (auto v : edges[u]){if (!st[v])dfs(v);}
}
int main()
{int n;cin >> n;//建树for (int i = 1; i < n; i++){int a, b; cin >> a >> b;edges[a].push_back(b);edges[b].push_back(a);}//深度优先搜索dfs(1);return 0;
}

过程就是不断的遍历根结点的孩子,不断的遍历根结点的孩子,我们来画一下递归过程图

递归的展开图就是一棵树,递归就是对树进行深度搜索

为了更好的理解递归,我们再画一下斐波那契数列的递归展开图

可以看到,斐波那契算法的递归图画出来也是一棵树

链式前向星存储的树进行dfs

#include <iostream>
using namespace std;
const int N = 1e5 + 10;
int h[N], e[2*N], ne[2*N], id;
bool st[N];
void add(int a, int b)
{id++;e[id] = b;ne[id] = h[a];h[a] = id;
}
void dfs(int u)
{cout << u << " ";st[u] = true;for (int v = h[u]; v; v = ne[v]){if (!st[e[v]]){dfs(e[v]);}}
}
int main()
{int n;cin >> n;for (int i = 1; i < n; i++){int a, b; cin >> a >> b;add(a, b); add(b, a);}dfs(1);return 0;
}

vector存储的树进行bfs

bfs的话,我们的思路就是用队列,我们先把根结点入队列,然后出队列的时候要把该结点的孩子入队列,直到队列为空,搜索完毕

比如这个,我们先把1入队列,然后把输出1并把1出队列,把3,5,2入队列,然后把输出3并把3出队列,把3的孩子7,10带进去,

出5,把4带进去,出2把11带进去,这时候我们的队列里就是7,10,4,11了 我们输出了1,3,5,2 接下来也是这种操作,直到队列为空的时候我们遍历完毕

下面实现我们的代码

#include <iostream>
#include <vector>
#include <queue>
using namespace std;
const int N = 1e5 + 10;
queue <int> q;
vector <int> edges[N];
bool st[N];
void bfs()
{q.push(1); while (q.size()){auto t = q.front();cout << t << " ";st[t] = true;q.pop();for (auto e : edges[t]){if (!st[e]){q.push(e);st[e] = true;}}}}
int main()
{int n;cin >> n;for (int i = 1; i < n; i++){int a, b; cin >> a >> b;edges[a].push_back(b);edges[b].push_back(a);}bfs();}

符合我们的树,结束

链式前向星存储的树进行bfs

#include <iostream>
#include <queue>
using namespace std;const int N = 1e5 + 10;
int h[N], ne[2 * N], e[2 * N], id;
bool st[N];
void add(int a,int b)
{id++;e[id] = b;ne[id] = h[a];h[a] = id;
}
queue <int> q;
void bfs()
{q.push(1);while (q.size()){auto t = q.front(); q.pop();cout << t << " ";st[t] = true;for (int i = h[t]; i; i = ne[i]){if (!st[e[i]]){q.push(e[i]);st[e[i]] = true;}}}
}int main()
{int n;cin >> n;for (int i = 1; i < n; i++){int a, b; cin >> a >> b;add(a, b); add(b, a);}bfs();return 0;
}

相关文章:

备战蓝桥杯:树的存储与遍历(dfs和bfs)

树的概念 树的逻辑结构是树形结构&#xff0c;和我们之前的线性结构又不太一样了&#xff0c;是一种一对多的关系 树的结点分为根节点&#xff0c;叶子结点&#xff08;没有分支的结点&#xff09; 以及分支结点 从上往下看&#xff0c;每个结点都有0个或多个后继 从下往上…...

[Deep Learning] Anaconda+CUDA+CuDNN+Pytorch(GPU)环境配置-2025

文章目录 [Deep Learning] AnacondaCUDACuDNNPytorch(GPU)环境配置-20250. 引子1. 安装Anaconda1.1 安装包下载&#xff1a;1.2 启用安装包安装1.3 配置(系统)环境变量1.4 验证Anaconda是否安装完毕1.5 Anaconda换源 2. 安装CUDACuDNN2.1 判断本机的CUDA版本2.2 下载适合自己CU…...

计算机的错误计算(二百一十二)

摘要 利用两个大模型计算 实验表明&#xff0c;两个大模型均进行了中肯的分析。另外&#xff0c;其中一个大模型给出了 Python代码&#xff0c;运行后&#xff0c;结果中有7位错误数字&#xff1b;而一个大模型进行加减运算时出错。 例1. 计算 下面是与一个大模型的对话…...

Inxpect毫米波安全雷达:精准检测与动态保护,工业自动化可靠选择

Inxpect毫米波安全雷达具备“精准检测、动态区域保护、环境适应性”三大核心功能。在工业自动化和机器人系统里&#xff0c;这些功能发挥着重要作用,有助于提升安全性与效率。Inxpect雷达运用毫米波技术&#xff0c;在诸如存在灰尘、烟雾或碎屑等复杂环境中&#xff0c;也能保持…...

springboot房屋租赁管理系统

Spring Boot房屋租赁管理系统是一种基于Spring Boot框架构建的&#xff0c;旨在解决传统租房市场中房源信息更新不及时、虚假信息泛滥、交易流程繁琐等问题的信息化解决方案。 一、系统背景与目的 随着城市化进程的加快和人口流动性的增强&#xff0c;租房市场需求急剧增长。…...

如何使用wireshark 解密TLS-SSL报文

目录 前言 原理 操作 前言 现在网站都是https 或者 很多站点都支持 http2。这些站点为了保证数据的安全都通过TLS/SSL 加密过&#xff0c;用wireshark 并不能很好的去解析报文&#xff0c;我们就需要用wireshark去解密这些报文。我主要讲解下mac 在 chrome 怎么配置的&…...

Gensim字典和语料库

自然语言处理(NLP)是计算机科学中涉及语言数据处理的核心领域之一,应用广泛,包括文本分类、情感分析、机器翻译、主题建模等任务。在处理海量文本时,如何将非结构化的语言数据转化为机器能够理解的结构化数据,是解决这些任务的关键。 Gensim 是一个用于处理和分析文本数…...

RK3588-NPU pytorch-image-models 模型编译测试

RK3588-NPU pytorch-image-models 模型编译测试 一.背景二.操作步骤1.下载依赖2.创建容器3.安装依赖4.创建脚本A.生成模型名列表B.生成ONNX模型C.生成RKNN模型D.批量测试脚本 一.背景 测试RK3588-NPU对https://github.com/huggingface/pytorch-image-models.git中模型的支持程…...

Doris 导入慢该如何排查及优化?

在使用 Apache Doris 进行数据导入时&#xff0c;经常会遇到导入性能不理想的情况。今天我们就来深入分析这些问题的原因及其解决方案&#xff01; Stream Load 导入慢 Stream Load 支持通过 HTTP 协议将本地文件或数据流导入到 Doris 中的一种方式&#xff0c;其速度还是相当…...

iOS - 关联对象的实现

根据源码总结一下关联对象(Associated Objects)的实现&#xff1a; 1. 关联对象的基本结构 // 对象的 isa 结构中包含关联对象标记 union isa_t {struct {uintptr_t nonpointer : 1; // 是否使用优化的 isauintptr_t has_assoc : 1; // 是否有关联对象// ...其他位…...

AudioGPT全新的 音频内容理解与生成系统

AudioGPT全新的 音频内容理解与生成系统 ChatGPT、GPT-4等大型语言模型 (LLM) 在语言理解、生成、交互和推理方面表现出的非凡能力,引起了学界和业界的极大关注,也让人们看到了LLM在构建通用人工智能 (AGI) 系统方面的潜力。 现有的GPT模型具有极高的语言生成能力,是目前最…...

【maptalks】加载SVG和GIF

加载SVG和GIF 一、加载SVG方法一&#xff1a;直接载入SVG文件&#xff0c;类似载入图片方法二&#xff1a;载入SVG路径 二、加载GIFVUEmaptalks实现GIF可拖拽点VUEmaptalks实现GIF跟随线条动画 一、加载SVG 方法一&#xff1a;直接载入SVG文件&#xff0c;类似载入图片 缺点&…...

【HarmonyOS NEXT】鸿蒙跳转华为应用市场目标APP下载页

【HarmonyOS NEXT】鸿蒙跳转华为应用市场目标APP下载页 一、问题背景&#xff1a; 如今&#xff0c;大家都离不开各种手机应用。随着鸿蒙系统用户越来越多&#xff0c;大家都希望能在鸿蒙设备上快速找到想用的 APP。华为应用市场里有海量的 APP&#xff0c;但之前从鸿蒙设备进…...

《leetcode-runner》【图解】如何手搓一个debug调试器——调试程序【JDI开发】【万字详解】

前文&#xff1a; 《leetcode-runner》如何手搓一个debug调试器——引言 《leetcode-runner》如何手搓一个debug调试器——架构 《leetcode-runner》如何手搓一个debug调试器——指令系统 本文主要聚焦于如何编写调试程序 背景 在leetcode算法背景下&#xff0c;用户只编写了…...

【高阶数据结构】线段树加乘(维护序列)详细解释乘与加懒标记

文章目录 1.题目[AHOI2009] 维护序列 2.懒标记处理先加后乘的形式1. 先加后乘的操作 先乘后加的形式2. 先乘后加的操作**乘法操作****加法操作** 懒标记的下传 3.代码 1.题目 题目来源:https://www.luogu.com.cn/problem/P2023 [AHOI2009] 维护序列 题目背景 老师交给小可可…...

ElasticSearch常见知识点

1、什么是ElasticSearch&#xff1f; Elasticsearch 是基于 Lucene 的 Restful 的分布式实时全文搜索引擎&#xff0c;每个字段都被索引并可被搜索&#xff0c;可以快速存储、搜索、分析海量的数据。 2、什么是倒排索引&#xff1f; 正常的索引是比如二叉树。倒排索引是用内容…...

ARM与x86:架构对比及其应用

典型的服务器架构的x86采用模块化方法&#xff0c;基于带有可更换组件的主板。CPU和其他组件&#xff08;如显卡和GPU、内存控制器、存储或处理核心&#xff09;针对特定功能进行了优化&#xff0c;可以轻松更换或扩展。然而&#xff0c;这种便利是有代价的&#xff1b;这些硬件…...

macos 搭建 ragflow 开发环境

ragflow 是一个很方便的本地 RAG 库。本文主要记录一下在本机的部署过程 1、总体架构说明 开发环境&#xff1a;macbook pro&#xff08;m1&#xff09;&#xff0c;16G内存 512G固态 因本机的内存和硬盘比较可怜&#xff0c;所以在服务器上部署基础 docker 包&#xff0c;…...

CVPR 2024 人体姿态估计总汇(3D人体、手语翻译和人体网格恢复/重建等)

1、Human Pose Estimation(人体姿态估计) CLOAF: CoLlisiOn-Aware Human FlowMeta-Point Learning and Refining for Category-Agnostic Pose EstimationSurMo: Surface-based 4D Motion Modeling for Dynamic Human Rendering ⭐codeGALA: Generating Animatable Layered Ass…...

docker 安装mongodb

1、先获取mongodb镜像 docker pull mongo:4.2 2、镜像拉取完成后&#xff0c;运行mongodb容器 docker run \ -d \ --name mongo \ --restartalways \ --privilegedtrue \ -p 27017:27017 \ -v /home//mongodb/data:/data/db \ mongo:4.2 --auth 3、mongodb服务配置 如上图&…...

82_Redis缓存雪崩击穿穿透问题

在实际业务应用中,Redis常常与诸如MySQL这类关系型数据库协同工作,旨在缓解后端数据库的负担。它扮演了一个高效缓存的角色,特别是针对那些频繁被访问的热点数据。当用户发起查询时,系统首先尝试从Redis中获取这些数据。由于Redis提供了极快的访问速度,如果数据存在于Redi…...

统计学习算法——逻辑斯谛回归

内容来自B站Up主&#xff1a;动画讲编程https://www.bilibili.com/video/BV1CR4y1L7RC、风中摇曳的小萝卜https://www.bilibili.com/video/BV17r4y137bW&#xff0c;仅为个人学习所用。 极大似然估计 几率、概率与似然 几率是指某个事件发生的可能性与不发生的可能性之比&am…...

设计模式03:行为型设计模式之策略模式的使用情景及其基础Demo

1.策略模式 好处&#xff1a;动态切换算法或行为场景&#xff1a;实现同一功能用到不同的算法时和简单工厂对比&#xff1a;简单工厂是通过参数创建对象&#xff0c;调用同一个方法&#xff08;实现细节不同&#xff09;&#xff1b;策略模式是上下文切换对象&#xff0c;调用…...

C51交通控制系统的设计与实现

实验要求&#xff1a; 本题目拟设计一个工作在十字路口的交通信号灯控制系统&#xff0c;设东西方向为主干道A&#xff0c;南北方向为辅助干道B。要求&#xff1a;&#xff08;1&#xff09;用发光二极管模拟交通灯信号&#xff1b;&#xff08;2&#xff09;灵活控制主、辅干…...

css 实现自定义虚线

需求&#xff1a; ui 画的图是虚线&#xff0c;但是虚线很宽正常的border 参数无法做到 进程&#xff1a; 尝试使用 border&#xff1a;1px dashed 发现使用这个虽然是虚线但是很短密密麻麻的 这并不是我们想要的那就只能换方案 第一个最简单&#xff0c;让ui 画一个图然…...

网络协议基础--协议分层

一.协议概述 1.TCP/IP 传输协议概述 TCP/IP 传输协议&#xff0c;即传输控制 / 网络协议&#xff0c;也被称作网络通讯协议。它是网络中使用的最基本通信协议&#xff0c;对互联网中各部分进行通信的标准和方法予以规定。通常所说的 TCP/IP 协议并非仅指 TCP 和 IP 两个协议&a…...

iOS - TLS(线程本地存储)

从源码中&#xff0c;详细总结 TLS (Thread Local Storage) 的实现&#xff1a; 1. TLS 基本结构 // TLS 的基本结构 struct tls_data {pthread_key_t key; // 线程本地存储的键void (*destructor)(void *); // 清理函数 };// 自动释放池的 TLS class Autorelease…...

主链和Layer2之间资产转移

主链和Layer2之间资产转移 主链和Layer2之间资产转移是实现Layer2技术的关键环节,以下是资产转移的流程、流行解决方案及原理: 资产从主链转移到Layer2 用户在主链上发起一笔交易,将资产发送到一个特定的智能合约地址,这个合约是主链与Layer2之间的桥梁。智能合约会锁定用…...

深度学习-算法优化与宇宙能量梯度分布

在当今迅速发展的科技世界中&#xff0c;算法优化和能量分布问题已成为研究的热点&#xff0c;尤其是在人工智能、机器学习和物理科学领域。算法优化通常涉及提高计算效率和降低资源消耗&#xff0c;而宇宙能量梯度分布则涉及宇宙中能量的分布和流动方式。两者看似是完全不同的…...

《Java核心技术II》实现服务器

实现服务器 这节实现简单服务器&#xff0c;可以向客户端发送信息。 服务器套接字 ServerSocket用于建立套接字 var s new ServerSocket(8189); 建立一个监听端口8189的服务器。 Socket incoming s.accept(); 此对象可以得到输入流和输出流。 InputStream inStream incomin…...

登上Nature!交叉注意力机制 发顶会流量密码!

在深度学习领域&#xff0c;交叉注意力融合技术正迅速崛起&#xff0c;并成为处理多模态数据的关键工具。这一技术通过有效地整合来自不同模态的信息&#xff0c;使得模型能够更好地理解和推理复杂的数据关系。 随着多模态数据的日益普及&#xff0c;如图像、文本和声音等&…...

Windows 正确配置android adb调试的方法

下载适用于 Windows 的 SDK Platform-Tools https://developer.android.google.cn/tools/releases/platform-tools?hlzh-cn 设置系统变量&#xff0c;路径为platform-tools文件夹的绝对路径 点击Path添加环境变量 %adb%打开终端输入adb shell 这就成功了&#xff01;...

leetcode刷题记录(五十六)——53. 最大子数组和

&#xff08;一&#xff09;问题描述 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 子数组是数组中的一个连续部分。 示例 1&#xff1a; 输入&#xff1a;nums [-2,1,…...

SQL BETWEEN 操作符

SQL BETWEEN 操作符 SQL中的BETWEEN操作符用于选取介于两个值之间的数据范围。这些值可以是数字、文本或日期。BETWEEN操作符是SQL中非常实用的一个功能&#xff0c;它可以帮助我们快速地筛选出符合特定条件的数据记录。 BETWEEN操作符的基本用法 BETWEEN操作符的基本语法如…...

分布式 IO 模块:引领立体车库迈向智能化新时代

在城市空间愈发珍贵的当下&#xff0c;立体车库作为高效利用空间的停车解决方案&#xff0c;正日益普及。而明达技术MR30分布式 IO 模块的应用&#xff0c;如同为立体车库注入了智能 “芯” 动力&#xff0c;让停车变得更加便捷、高效、智能。 MR30分布式 IO 模块&#xff0c;作…...

《C++11》深入剖析正则表达式库:解锁文本处理的高效之道

在现代编程领域&#xff0c;文本处理是一项不可或缺的任务&#xff0c;而正则表达式无疑是这一领域的强大利器。C11标准库的引入&#xff0c;为C开发者带来了正则表达式库&#xff0c;极大地丰富了C在文本处理方面的能力。本文将全方位、多角度地深入探讨C11正则表达式库&#…...

Mongodb相关内容

Mongodb相关内容 1、Windows平台安装2、Linux平台安装3、基本常用命令文档更新删除文档分页查询索引 pymongo操作 客户端下载&#xff1a;https://download.csdn.net/download/guoqingru0311/90273435 1、Windows平台安装 方式一&#xff1a; 方式2&#xff1a; 方式3&#…...

United States of America三种表示

"United States of America", "United States", 和 "America" 都表示美国&#xff0c;但它们的使用场景和背景略有不同。以下是关于为什么这些名称可以合在一起表示美国的详细解释&#xff1a; 1. "United States of America" 全称&a…...

【Redis】Redis特性及其应用场景

目录 Redis特性 在内存中存储数据 可编程性 可扩展性 持久化 集群 高可用 补充特性 Redis的应用场景 数据库 缓存 会话存储 消息队列中间件 Redis特性 Redis是一个在内存中存储数据的中间件&#xff0c;用于作为数据库、数据缓存。Redis在分布式系统中有着较…...

Vue 使用blob下载文件,打开文件,文件是损毁的

文章目录 问题分析解决 问题 如图所示&#xff0c;在进行图片下载时下载的文件显示图片已被损 分析 代码如下&#xff1a; import axios from axios; async function downloadImage1(link, name) {try {const response await axios.get(link, {responseType: blob, // 设置响…...

Android 通过systrace如何快速找到app的刷新率

1. 如何抓取systrace&#xff1a; 方法一 andrdoid11以及以上的android版本都支持使用perfetto的方式抓取systrace&#xff0c;简单好用。 adb shell perfetto --buffer 512mb --time 10s --out /data/misc/perfetto-traces/perfetto_trace gfx input view wm am hal res dalv…...

vulnhub靶场【Raven系列】之2 ,对于mysql udf提权的复习

前言 靶机&#xff1a;Raven-2&#xff0c;IP地址为192.168.10.9 攻击&#xff1a;kali&#xff0c;IP地址为192.168.10.2 都采用虚拟机&#xff0c;网卡为桥接模式 文章所用靶机来自vulnhub&#xff0c;可通过官网下载&#xff0c;或者通过链接:https://pan.quark.cn/s/a65…...

【单片机开发 - STM32(H7)】启动流程、方式、烧录方式详解

如侵权&#xff0c;联系删&#xff0c;个人总结学习用 参考资料&#xff1a;&#xff08;最末尾有我的原生笔记&#xff0c;那个格式规范点&#xff09; 安富莱 ARM汇编伪指令详解-CSDN博客 【STM32】STM32内存映射以及启动过程&#xff08;超详细过程&#xff09;-CSDN博客…...

[手机Linux] ubuntu 错误解决

Ubuntu: 1,ttyname failed: Inappropriate ioctl for device 将 /root/.profile 文件中的 mesg n || true 改为如下内容。 vim /root/.profile tty -s && mesg n || true 2,Errors were encountered while processing: XXX XXXX sudo apt-get --purge remove xxx…...

springCloudGateway+nacos自定义负载均衡-通过IP隔离开发环境

先说一下想法&#xff0c;小公司开发项目&#xff0c;参考若依框架使用的spring-cloud-starter-gateway和spring-cloud-starter-alibaba-nacos, 用到了nacos的配置中心和注册中心&#xff0c;有多个模块&#xff08;每个模块都是一个服务&#xff09;。 想本地开发&#xff0c;…...

MyBatis-增删改查操作一些细节

目录 删除 新增 修改 查询 小结&#xff1a; 删除功能 需求&#xff1a;根据ID删除用户信息 SQL&#xff1a;delete from user where id 5; Mapper接口方法&#xff08;注意这里不是实现类&#xff09;&#xff1a; /*** 根据id删除*/ Delete("delete from user wher…...

windows 极速安装 Linux (Ubuntu)-- 无需虚拟机

1. 安装 WSL 和 Ubuntu 打开命令行&#xff0c;执行 WSL --install -d ubuntu若报错&#xff0c;则先执行 WSL --update2. 重启电脑 因安装了子系统&#xff0c;需重启电脑才生效 3. 配置 Ubuntu 的账号密码 打开 Ubuntu 的命令行 按提示&#xff0c;输入账号&#xff0c;密…...

【学习笔记】各种强化学习环境

0. 写在前面 0.1 强化学习综述/资料&#xff08;更新中&#xff09; 鹏程实验室&#xff1a; 中文报道&#xff1a;学术分享丨具身智能综述&#xff1a;鹏城实验室&#xff06;中大调研近400篇文献&#xff0c;英文原文&#xff1a;Aligning Cyber Space with Physical World…...

统计有序矩阵中的负数

统计有序矩阵中的负数 描述 给你一个 m * n 的矩阵 grid&#xff0c;矩阵中的元素无论是按行还是按列&#xff0c;都以非递增顺序排列。 请你统计并返回 grid 中 负数 的数目 示例 1&#xff1a; 输入&#xff1a;grid [[4,3,2,-1],[3,2,1,-1],[1,1,-1,-2],[-1,-1,-2,-3]]…...

【已解决】git clone报错:Failed to connect to github.com port 443: Timed out

1.问题原因1 报错信息1&#xff1a; fatal: unable to access https://github.com/microsoft/xxx/: Failed to connect to github.com port 443: Timed out 报错信息2&#xff1a; fatal: unable to access https://github.com/xxx/xx/: OpenSSL SSL_read: Connection was …...