图论与网络优化
2.概念与计算
2.1 图的定义
2.1.1 定义
图(graph) G G G 是一个有序的三元组,记作 G = < V ( G ) , E ( G ) , ψ ( G ) > G=<V(G),E(G),\psi (G)> G=<V(G),E(G),ψ(G)>。
V ( G ) V(G) V(G) 是顶点集。 E ( G ) E(G) E(G) 是边集。 ψ ( G ) \psi (G) ψ(G) 是关联函数,;例如 ψ G ( e ) = v i v j \psi_G (e)=v_iv_j ψG(e)=vivj。
N G ( v ) N_G(v) NG(v) 表示点 v v v 的一阶邻域点。
相邻:与同一个顶点关联的两条边是相邻的。
环:两个端点重合的边称为环。
连杆:端点不重合的边成为连杆。
k k k 重边:连接同一对顶点的 k k k 条边。
单边:一对顶点之间只有一条边。
简单图:无环无重边
2.1.2 度
度:与顶点 v v v 关联的边的数目,记作 d ( v ) d(v) d(v)。
度序列: ( d ( v 1 ) , d ( v 2 ) , . . . , d ( v v ) ) (d(v_1),d(v_2),...,d(v_v)) (d(v1),d(v2),...,d(vv))
孤立点:度为 0 0 0。
悬挂点:度为 1 1 1。
悬挂边:与悬挂点相关联的边。
偶点:度为偶数的顶点。
奇点:度为奇数的顶点。
最小度 δ ( G ) \delta(G) δ(G):图 G G G 顶点度的最小值。
最大度 Δ ( G ) \Delta(G) Δ(G):图 G G G 顶点度的最大值。
握手引理: ∑ v ∈ V = 2 ϵ \sum_{v\in V} = 2 \epsilon ∑v∈V=2ϵ。
例题:空间中不存在有奇数个面并且每个面只有奇数个棱的多面体。
思路:将面抽象为点,两面之间的棱为边,则转化成了有奇数个点且每个点都是奇数度的图,与握手引理矛盾,得证。
例题:证明非负整数序列 ( d 1 , d 2 , . . . , d v ) (d_1,d_2,...,d_v) (d1,d2,...,dv) 是某个图的度序列当且仅当 ∑ i = 1 v d i \sum_{i=1}^{v} d_i ∑i=1vdi 是偶数。
思路:先画出 v v v 个孤立点,然后选序列中度大于 1 1 1 的点连环直至将每个点仍需添加的度为 0 0 0 或 1 1 1。然后将两两选择度为 1 1 1 的点。能连通即可得证。
图序列:简单图的度序列。
判断是否为图序列:非负整数序列 ( d 1 , d 2 , . . . , d v ) ( d 1 ≥ d 2 ≥ . . . ≥ d v ) (d_1,d_2,...,d_v)(d_1 \geq d_2 \geq ... \geq d_v) (d1,d2,...,dv)(d1≥d2≥...≥dv) 是图序列当且仅当 ∑ i = 1 v d i \sum_{i=1}^v d_i ∑i=1vdi 是偶数,并且对一切整数 k ( 1 ≤ k ≤ v − 1 k(1\leq k\leq v-1 k(1≤k≤v−1,有 ∑ i = 1 k ≤ k ( k − 1 ) ≤ ∑ i = k + 1 v m i n { k , d i } \sum_{i=1}^{k} \leq k(k-1) \leq \sum_{i=k+1}^{v}min \{k,d_i\} ∑i=1k≤k(k−1)≤∑i=k+1vmin{k,di}.
例题:(1,2,2,4,5);(1,2,3,3,4,5);(1,2,3,4,4,5) 三个是否是图序列?
思路:第一个不是图序列,当点数为 5 5 5 时,不存在度为 5 5 5 的简单图。第二个是图序列。 第三个不是图序列,先画出度为 5 5 5 的点的连边,然后只有三个点还能连边,需要的度依次为 2 , 3 , 3 2,3,3 2,3,3,简单图中的三个点不可能连出度为 3 3 3 的连边情况。
2.1.3 同构
同构:若两个图顶点之间建立一一对应的关系,且任意一对顶点的边数对应相同,则称两图是同构的。
2.2 子图和连通分支
2.2.1 子图
子图:设 H H H 和 G G G 为两个图。若 V ( H ) ⊆ V ( G ) V(H) \subseteq V(G) V(H)⊆V(G) 且 E ( H ) ⊆ E ( G ) E(H) \subseteq E(G) E(H)⊆E(G),则 H H H 为 G G G 的子图。记作 H ⊆ G H \subseteq G H⊆G。
相等:设 H H H 和 G G G 为两个图。若 V ( H ) = V ( G ) V(H) = V(G) V(H)=V(G) 且 E ( H ) = E ( G ) E(H) = E(G) E(H)=E(G),则 H H H 为 G G G 相等。记作 H = G H = G H=G。
真子图:若 H ⊆ G H \subseteq G H⊆G 且 H ≠ G H \neq G H=G,则称 H H H 是 G G G 的真子图,记作 H ⊂ G H \subset G H⊂G。
支撑(生成)子图:若 V ( H ) = V ( G ) V(H) = V(G) V(H)=V(G) 且 E ( H ) ⊆ E ( G ) E(H) \subseteq E(G) E(H)⊆E(G),则称 H H H 是 G G G 的支撑子图或生成子图。
基础简单图:对图 G G G 去除重边和环后的图 H H H。
2.2.2 导出子图
导出子图:设 V ′ V' V′ 是 V ( G ) V(G) V(G) 的非空子集,以 V ′ V' V′ 为顶点集,以 E ′ = u v ∈ E ( G ) ∣ u , v ∈ V ′ E'= {uv \in E(G) | u,v \in V'} E′=uv∈E(G)∣u,v∈V′ 为边集的 G G G 的子图称为 G 的由 V ′ V' V′ 导出的子图,记作 G [ V ′ ] G[V'] G[V′],简称为 G G G 的导出子图。
2.2.3 连通分支
途径的起点/终点/长度/逆转/衔接/节: W = v o e 1 v 1 e 2 . . . e k v k W=v_oe_1v_1e_2...e_kv_k W=voe1v1e2...ekvk,这里 v i ∈ V ( 0 ≤ i ≤ k ) , e j = v j − 1 v j ∈ E ( 1 ≤ j ≤ k ) v_i\in V(0\leq i \leq k),e_j=v_{j-1}v_j \in E(1 \leq j \leq k) vi∈V(0≤i≤k),ej=vj−1vj∈E(1≤j≤k), v 0 v_0 v0 称为 W W W 的起点, v k v_k vk 称为 W W W 的终点,之间的 v v v 称为 W W W 的内部点。 W W W 称为 G G G 的 ( v 0 , v k ) (v_0,v_k) (v0,vk) 途径。 k k k 为 W W W 的长度。逆转如字面意思。衔接意味对于两个不同的 W W W,其中一条 W W W 的终点为另一个 W W W 的起点,则两条 W W W 可以衔接。节是 W W W 序列中的子集。
迹:途径 w w w 的边互不相同,则称 W W W 为迹。若起点终点相同,则 W W W 为闭迹。
链:途径 w w w 的顶点互不相同,则称 W W W 为链。一个顶点也称为一条链。
圈:起点、内部点互不相同的闭迹称为圈,长为 k k k 的圈称为 k k k 圈。根据 k k k 的奇偶性,相应地称 k k k 圈为奇圈和偶圈。
连通:若图 G G G 中存在 ( u , v ) (u,v) (u,v) 链,则顶点 u u u 和 v v v 在图 G G G 中是连通的。
连通分支(数): V V V 的非空划分 ( V 1 , V 2 . . . , V ω ) (V_1,V_2...,V_\omega) (V1,V2...,Vω),导出子图 G [ V 1 ] , G [ V 2 ] , . . . , G [ V ω ] G[V_1],G[V_2],...,G[V_\omega] G[V1],G[V2],...,G[Vω] 称为 G G G 的连通分支。 ω ( G ) \omega(G) ω(G) 为图 G G G 的连通分支数。
2.2.4 距离
距离:图 G G G 中所有 ( u , v ) (u,v) (u,v) 链的最短链,记为 d ( u , v ) d(u,v) d(u,v),被称之为 u , v u,v u,v 之间的距离。
例题:设 G G G 是连通图,且 G G G 中至少有一对顶点不相邻,证明存在 u , v , w ∈ V u,v,w \in V u,v,w∈V,使 u v , v w ∈ E uv,vw \in E uv,vw∈E,但 u w ∉ E uw \notin E uw∈/E。
思路:设 x , y ∈ V x,y \in V x,y∈V 且 x y ∉ E xy \notin E xy∈/E。因 G G G 连通,故 G G G 中存在最短 ( x , y ) (x,y) (x,y) 链 P = x v 1 v 2 . . . y P=xv_1v_2...y P=xv1v2...y。
由 P P P 的最短性可知 x v 2 ∉ E xv_2 \notin E xv2∈/E,于是令 u = x , v = v 1 , w = v 2 u=x,v=v_1,w=v_2 u=x,v=v1,w=v2,则有 u v ∈ E , v w ∈ E uv \in E,vw \in E uv∈E,vw∈E 但 u w ∉ E uw \notin E uw∈/E。
2.3 重要图类
2.3.1 完全图
完全图:含有 C n 2 C_{n}^{2} Cn2 条边,且每对顶点都相邻的简单图,记作 K n K_n Kn。
空图:边集为空的图。
平凡图:图中只有一个顶点。
非平凡图:除了平凡图以外的图。
例题:在任意 6 6 6 个人聚会上,要么有 3 3 3 个人相互认识,要么有 3 3 3 个人相互不认识。
思路:先构造 6 6 6 阶完全图 K 6 K_6 K6,其中 V = v 1 , v 2 , . . . , v 6 V = {v_1,v_2,...,v_6} V=v1,v2,...,v6。 v i v_i vi 代表第 i i i 个人。
若 v i v_i vi 与 v j v_j vj 互相认识,则染这条边为红色边,否则为蓝色边。于是问题转成了图中必定存在同色三角形问题。因此得证。
2.3.2 正则图
正则图/k正则图:每个顶点的度都相等(都为 k k k)的图称为( k k k)正则图。一般指的是简单图。
例题:对于任意的正整数 n n n, n k nk nk 为偶数,当 n ≥ k + 1 n \geq k + 1 n≥k+1, n n n 阶 k k k 正则图存在吗?
思路:
γ 1 \gamma_1 γ1 法则:构造偶数正则图法则。
设 G G G 是 v v v 阶 k k k 正则图,且 k = 2 m k=2m k=2m, m ≥ 1 m \geq 1 m≥1,按以下步骤生成新图 G ′ G' G′:
step 1:在图 G G G 中任取 m m m 条互不相邻的边: v 1 v 2 , v 3 v 4 , . . . , v 2 m − 1 v 2 m v_1v_2,v_3v_4,...,v_{2m-1}v_{2m} v1v2,v3v4,...,v2m−1v2m 并删除。
step 2:增加新的顶点 v v v,并向所有被删边的点增加一条新边 v v i ( i = 1 , 2 , . . . , 2 m ) vv_i(i=1,2,...,2m) vvi(i=1,2,...,2m),得到新图 G ′ G' G′。
γ 2 \gamma_2 γ2 法则:构造奇数正则图法则。
设 G G G 是 v v v 阶 k k k 正则图,且 k = 2 m + 1 k=2m+1 k=2m+1, m ≥ 1 m \geq 1 m≥1,按以下步骤生成新图 G ′ G' G′:
step 1:在图 G G G 中任取 m m m 条互不相邻的边: v 1 v 2 , v 3 v 4 , . . . , v 2 m − 1 v 2 m v_1v_2,v_3v_4,...,v_{2m-1}v_{2m} v1v2,v3v4,...,v2m−1v2m 并删除。
step 2:再在图 G G G 中任取 m m m 条互不相邻的边: u 1 u 2 , u 3 u 4 , . . . , u 2 m − 1 u 2 m u_1u_2,u_3u_4,...,u_{2m-1}u_{2m} u1u2,u3u4,...,u2m−1u2m 并删除。
(step 1 和 step 2 中可能会出现重复点)
step 3:增加新的顶点 w 1 w_1 w1,并向 step 1 中所有被删边的点增加一条新边 w 1 v i ( i = 1 , 2 , . . . , 2 m ) w_1v_i(i=1,2,...,2m) w1vi(i=1,2,...,2m)。
step 4:再增加新的顶点 w 2 w_2 w2,并向 step 2 中所有被删边的点增加一条新边 w 2 u i ( i = 1 , 2 , . . . , 2 m ) w_2u_i(i=1,2,...,2m) w2ui(i=1,2,...,2m)。
step 5:加边 w 1 w 2 w_1w_2 w1w2,得新图 G ′ G' G′。
定理: n n n 阶 k k k 正则简单图存在的充要条件是 k ≤ n − 1 k \leq n-1 k≤n−1 且 n k nk nk 为偶数。
证明:设 G G G 是 n n n 阶 k k k 正则简单图,每个顶点最多与其他 n − 1 n-1 n−1 个顶点相邻,因此 k ≤ n − 1 k \leq n-1 k≤n−1 成立。
设 k = 2 m k=2m k=2m,取 G = K k + 1 G=K_{k+1} G=Kk+1,则 G G G 为 k k k 正则图。根据 γ 1 \gamma_1 γ1 法则,顶点每次可以增加 1 1 1 而点的度数不变。因此可以得到 n n n 阶 k k k 正则图。
2.3.3 二部图
(完全)二部图:若顶点集可以划分为两个子集 X X X 和 Y Y Y,使得 G G G 中每条边的一端点在 X X X 中,另一个端点在 Y Y Y 中,则称 G G G 图为二部图。二部图 G G G 记作 G = ( X , Y , E ) G=(X,Y,E) G=(X,Y,E)。若集合 X X X 中的每个点都与 Y Y Y 中所有点都恰好有一条边,且 X 、 Y X、Y X、Y 均不为空集,则该图记作完全二部图,记作 K m , n K_{m,n} Km,n。
定理:图 G G G 的二部图,当且仅当 G G G 中不含奇圈。
证明:
step 1:
设 G = ( X , Y , E ) G=(X,Y,E) G=(X,Y,E) 是二部图, C = ( v 0 v 1 . . . v k v 0 ) C=(v_0v_1...v_kv_0) C=(v0v1...vkv0) 是 G G G 中的一个圈,长度为 k + 1 k+1 k+1。
设 v 0 ∈ X v_0 \in X v0∈X,于是后面节点依次属于 Y Y Y 和 X X X。因此得到 v 2 i ∈ X , v 2 i + 1 ∈ Y v_{2i} \in X,v_{2i+1} \in Y v2i∈X,v2i+1∈Y。
因此 k = 2 l + 1 k=2l+1 k=2l+1。该圈为偶圈。
step 2:
设 G G G 连通(若不连通则取一个连通分支证明之)。在 G G G 中任取一个顶点 u u u,令 X = { x ∣ d ( u , x ) 为偶数 } X=\{x|d(u,x)为偶数\} X={x∣d(u,x)为偶数}, Y = { y ∣ d ( u , y ) 为奇数 } Y=\{y|d(u,y)为奇数\} Y={y∣d(u,y)为奇数}。显然 X 、 Y X、Y X、Y 是图 G G G 的一个划分。
为了证明 G G G 是二部图,只需证明 X X X 或 Y Y Y 中任何两个顶点都不相邻。
设 v , w v,w v,w 是 X X X 中任意两个顶点,令 P P P 是 G G G 中最短 ( u , v ) (u,v) (u,v) 链,Q 是 G G G 中最短 ( u , w ) (u, w) (u,w) 链。
设 P P P 与 Q Q Q 的最后一个公共顶点是 u 1 u_1 u1。因为 P P P 和 Q Q Q 都是最短链,因此 P P P 的 ( u , u 1 ) (u,u_1) (u,u1) 节和 Q Q Q 的 ( u , u 1 ) (u,u_1) (u,u1) 节都是最短 ( u , u 1 ) (u,u_1) (u,u1) 链,从而长度相等。如下图:
又因 P P P 和 Q Q Q 的长度都为偶数,故 P P P 的 ( u 1 , v ) (u_1,v) (u1,v) 节 P 1 P_1 P1 和 Q Q Q 的 ( u 1 , w ) (u_1,w) (u1,w) 节 Q 1 Q_1 Q1 有相同奇偶性,于是 ( v , w ) (v,w) (v,w) 链 P 1 − 1 Q 1 P_1^{-1}Q_1 P1−1Q1 的长是偶数。因此若 v v v 与 w w w 相邻,则 P 1 − 1 Q 1 w v P_1^{-1}Q_1wv P1−1Q1wv 就是 G G G 中的一个奇圈,与假设矛盾。
2.4 有向图
2.4.1 定义
有向图:有向图 D D D 指一个有序三元组 ( V ( D ) , A ( D ) , ψ D ) (V(D),A(D),\psi_D) (V(D),A(D),ψD),其中 V ( D ) ≠ ∅ V(D) \neq \varnothing V(D)=∅, V ( D ) ∩ A ( D ) = ∅ V(D) \cap A(D) = \varnothing V(D)∩A(D)=∅。 V ( D ) V(D) V(D) 是顶点集。 A ( D ) A(D) A(D) 是弧集。 ψ D \psi_D ψD 称为 D D D 的关联函数,使得 D D D 每条弧对应于 D D D 的有序定点对。 ψ D ( a ) = ( u , v ) \psi_D(a)=(u,v) ψD(a)=(u,v) 中 u u u 是弧 a a a 的尾, v v v 称为 a a a 的头。
2.4.2 基础图
基础图:在有向图中去掉弧上箭头的图。
定向图:对图 G G G 的每条边规定方向后的图。
相邻、连通、圈、子图 的概念和含义不变。
2.4.3 出度和入度
入弧:有向图 D D D 中以顶点 v v v 为头的弧。
出弧:有向图 D D D 中以顶点 v v v 为尾的弧。
入度:记作 d D − ( v ) d_D^-(v) dD−(v),称为 v v v 的入度。
出度:记作 d D + ( v ) d_D^+(v) dD+(v),称为 v v v 的出度。
对于任何有向图D,有: ∑ v ∈ V d D − ( v ) = ∑ v ∈ V d D + ( v ) = ε ( D ) \sum_{v \in V}d_D^-(v) = \sum_{v \in V}d_D^+(v) = \varepsilon(D) ∑v∈VdD−(v)=∑v∈VdD+(v)=ε(D)
2.4.4 回路
有向途径: W = v 0 a 1 v 1 a 2 . . . v k − 1 a k v k W=v_0a_1v_1a_2...v_{k-1}a_kv_k W=v0a1v1a2...vk−1akvk,其中交替项为顶点和弧。那么 W W W 就是有向途径。 v 0 v_0 v0 称为 W W W 的起点, v k v_k vk 称为 W W W 的终点。 k k k 称为 W W W 的长。 W W W 称为有向 ( v 0 , v k ) (v_0,v_k) (v0,vk) 途径。
有向闭途径:起点与终点相同的有向途径。
有向迹:弧各不相同的有向途径。
有向链(路):顶点各不相同的有向途径。
2.4.5 强连通分支
强连通: u , v u,v u,v 是有向图 D D D 中的两个顶点,若存在 ( u , v ) (u,v) (u,v) 路和 ( v , u ) (v,u) (v,u) 路使得两点可以相互到达,则称 u u u 和 v v v 在图 D D D 中是强连通的。
强连通分支/强连通有向图: V ( D ) V(D) V(D) 的非空划分 V 1 V 2 . . . V ω V_1V_2...V_\omega V1V2...Vω 在 D D D 中所导出的子图 D [ V 1 ] , D [ V 2 ] , . . . , D [ D ω ] D[V_1],D[V_2],...,D[D_\omega] D[V1],D[V2],...,D[Dω] 称为 D D D 的强连通分支。若 D D D 中只有一个强连通分支,则 D D D 是强连通有向图。
相关文章:

图论与网络优化
2.概念与计算 2.1 图的定义 2.1.1 定义 图(graph) G G G 是一个有序的三元组,记作 G < V ( G ) , E ( G ) , ψ ( G ) > G<V(G),E(G),\psi (G)> G<V(G),E(G),ψ(G)>。 V ( G ) V(G) V(G) 是顶点集。 E ( G ) E(G) E(G) 是边集。 ψ ( G ) \…...

【论文复现】基于多模态深度学习方法的单细胞多组学数据聚类(【生物信息学】实验二:多组学数据融合:scMDC)
目录 一、实验介绍 1. 论文:基于多模态深度学习方法的单细胞多组学数据聚类 Abstract 2. Github链接 二、实验环境 0. 作者要求 1. 环境复现 实验一 实验二(本实验) 2. 库版本介绍 实验一 实验二 3. IDE 三、实验内容 1. 用法…...

mysql按指定字符截取
1、使用SUBSTRING函数进行截取 语法:str是要截取的字符串,pos是起始位置,len是要截取的长度 SUBSTRING(str, pos, len)例子 SELECT SUBSTRING(Hello, World!, 1, 5);返回"Hello"。其中,起始位置为1,截取的…...

搜索引擎-在URL地址栏输入信息,不跳转
在URL地址栏输入信息,不跳转 原因解决待续 原因 因为没有使用某个搜索引擎,无法定位到资源 解决 先打开百度或搜狗其他引擎,在输入内容,跳转成功 待续 ————————————————————— 以上就是今日博客的全部内容…...

10种新型网络安全威胁和攻击手法
2023年,网络威胁领域呈现出一些新的发展趋势,攻击类型趋于多样化,例如:从MOVEit攻击可以看出勒索攻击者开始抛弃基于加密的勒索软件,转向窃取数据进行勒索;同时,攻击者们还减少了对传统恶意软件…...

Elasticsearch:painless script 语法基础和实战
摘要:Elasticsearch,Java script的作用 script是Elasticsearch的拓展功能,通过定制的表达式实现已经预设好的API无法完成的个性化需求,比如完成以下操作 字段再加工/统计输出字段之间逻辑运算定义查询得分的计算公式定义特殊过…...

《数据结构、算法与应用C++语言描述》使用C++语言实现数组双端队列
《数据结构、算法与应用C语言描述》使用C语言实现数组双端队列 定义 队列的定义 队列(queue)是一个线性表,其插入和删除操作分别在表的不同端进行。插入元素的那一端称为队尾(back或rear),删除元素的那一…...

TikTok Shop新结算政策:卖家选择权加强,电商市场蓄势待发
据悉,从2023年11月1日开始,TikTok Shop将根据卖家的店铺表现来应用3种不同类型的结算期,其中,标准结算期:资金交收期为8个日历日;快速结算期:资金交收期为3个日历日;延长结算期&…...

asp.net特色商品购物网站系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio
一、源码特点 asp.net特色商品购物网站系统 是一套完善的web设计管理系统,系统采用mvc模式(BLLDALENTITY)系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 vs2010,数据库为sqlserver2008&a…...

解决一则诡异的javascript函数不执行的问题
有个vue 音乐播放器项目,由于之前腾讯的搜索接口没法用了,于是改成了别家的搜索接口。 但是由于返回数据结构不一样,代码重构的工作量还是挺大的:包括数据请求,数据处理,dom渲染,处理逻辑都进行…...

汽车安全的未来:毫米波雷达在碰撞避免系统中的角色
随着科技的飞速发展,汽车安全系统变得愈加智能化,而毫米波雷达技术正是这一领域的亮点之一。本文将深入探讨毫米波雷达在汽车碰撞避免系统中的关键角色,以及其对未来汽车安全的影响。 随着城市交通的拥堵和驾驶环境的变化,汽车安全…...

体感互动游戏研发虚拟场景3D漫游
体感互动游戏是一种结合虚拟现实(VR)或增强现实(AR)技术的游戏,允许玩家以身体动作和姿势来与游戏互动。这种类型的游戏通常需要特殊的硬件设备,例如体感控制器、摄像头或传感器,以捕捉玩家的动…...

微信小程序获取手机号(2023年10月 python版)[无需订阅]
技术栈: 1. 微信开发者工具中的调试基础库版本:3.1.2。 2. 后台:django。 步骤: 1. 首先在后台django项目的定时任务中增加一个下载access_token函数,并把得到的access_token保存在数据库中(其实随便哪里…...

Linux下设置网关以及网络相关命令
一、临时设置网关 查看当前路由表:route -n设置网关:route add default gw <路由器的网关IP> 注意:系统重启时,这些更改将不生效 二、永久设置网关 列出可用网络连接:nmcli connection show设置网关&#x…...

linux三剑客~sed命令的使用
1.工作原理: sed是一种流编辑器,它是文本处理中非常有用的工具 能够完美的配合正则表达式使用,处理时,把当前处理的行存储在临时缓冲区中,称为模式空间,接着用sed命令处理缓冲区中的内容 处理完成后&…...

virtualBox虚拟机安装多个+主机访问虚拟机+虚拟机访问外网配置
目的:本机安装3个虚拟机 一、虚拟机安装:Oracle VM VirtualBox (https://www.virtualbox.org/)源代码可下载,且免费使用 1、https://www.virtualbox.org/ 进入网站中Download 模块选择与自己电脑系统相应的下载包下载即可 如果安装过程报错如…...

正点原子嵌入式linux驱动开发——Linux按键输入
在前几篇笔记之中都是使用的GPIO输出功能,还没有用过GPIO输入功能,本章就来学习一下如果在Linux下编写GPIO输入驱动程序。正点原子STM32MP1开发板上有三个按键,就使用这些按键来完成GPIO输入驱动程序,同时利用原子操作来对按键值进…...

java--强制类型转换
类型范围大的数据或者变量,直接赋值给小范围的变量,会报错 1.强制类型转换 强行将类型范围大的变量、数据赋值给类型范围小的变量 2.强制类型转换在计算机中的执行原理 解释说明1:a是int类型有8个字节32位,然后在执行下一行代码…...

java后端调用接口Basic auth认证
该方法接收一个JSON字符串参数phoneNum 内容: {"phone":"13712312312"} 然后解析参数中的手机号,作为data去调用URL接口,接收接口返回的复合JSON并解析,拿到想要的数据public String queryUserResumeURLIn…...

App爬虫之强大的Airtest的操作总结
App爬虫之强大的Airtest的操作总结 App爬虫之强大的Airtest的操作总结 # Python使用该框架需要安装的依赖库 pip install airtest pip install poco pip install pocouifrom airtest.core.api import * from airtest.cli.parser import cli_setup from poco.drivers.android.…...
MODBUS-TCP转MODBUS-RTU通信应用(S7-1200和串口服务器通信)
在学习本博客之前,大家需要熟悉MODBUS-TCP和MODBUS-RTU通信,这2个通信的编程应用,大家可以查看下面文章链接: MODBUS-RTU通信 MODBUS-RTU通信协议功能码+数据帧解读(博途PLC梯形图代码)-CSDN博客MODBUS通信详细代码编写,请查看下面相关链接,这篇博客主要和大家介绍MODB…...

开源贡献难吗?
本文整理自字节跳动 Flink SQL 技术负责人李本超在 CommunityOverCode Asia 2023 上的 Keynote 演讲,李本超根据自己在开源社区的贡献经历,基于他在贡献开源社区过程中的一些小故事和思考,如何克服困难,在开源社区取得突破&#x…...

seata的TCC模式分析
TCC是 Try- Confirm-Cancel 这3个名词的首字母简称,是一个2阶段提交的变体思路。 Try:对资源的检查和预留; Confirm: 确认对预留资源的消耗,执行业务操作; Cancel:预留资源的释放; TCC的事务…...

常用linux命令【主要用于日志查询,目录切换】
Xshell设置登录 :主机,端口号 用户身份验证:账号/密码登录脚本:等待-[hcuserserver02 ]$ 发送-cd /data/logs/pl-capital-processer-server/$(date “%Y-%m-%d”) 下方-添加按钮/编辑 发送文本,追加 grep --color de…...

Python学习基础笔记七十六——Python装饰器2
装饰器,英文名字decorator。 我们开发Python代码的时候,经常碰到装饰器。 通常被装饰后的函数,会在原来的函数的基础上,增加一些功能。 通常装饰器本事也是一个函数,那么装饰器是怎么装饰另外一个函数的呢?…...

生产环境解决用户登录问题的实践
目录 1 前言2 问题提出3 问题分析和解决4 技术分析和改进5 结语 1 前言 在开发管理软件平台为美术馆时,我们致力于提供一个多系统集成平台,其中包括艺术品管理、志愿者管理和数字资产管理等子系统。为了确保用户享有流畅的体验,我们采用了一…...

通讯协议学习之路:QSPI协议理论
通讯协议之路主要分为两部分,第一部分从理论上面讲解各类协议的通讯原理以及通讯格式,第二部分从具体运用上讲解各类通讯协议的具体应用方法。 后续文章会同时发表在个人博客(jason1016.club)、CSDN;视频会发布在bilibili(UID:399951374) 一、…...

pip安装修改镜像源
使用pip安装报错时,例如 raise ReadTimeoutError(self._pool, None, “Read timed out.”) pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host‘download.pytorch.org’, port443): Read timed out 可以选择国内的镜像源,如下…...

QCC51XX-QCC30XX系列开发教程(实战篇) 之 12.4-空间音频手机侧和耳机侧接口设计时序图
查看全部教程开发请点击:全网最全-QCC51xx-QCC30xx(TWS)系列从入门到精通开发教程汇总(持续更新中) ==================================================================== 版权归作者所有,未经允许,请勿转载。 ==========================================...

Mysql创建视图中文乱码修改docker里的配置
问题现象: 创建的视图查询无数据,查看创建语句得知,where条件里的中文变成了“???”。 在客户端里查询字符编码: show VARIABLES like %char%;就是character_set_server导致的,它配置的竟然不是utf8,…...