逍遥游——图论

2023-11-23 02:00
文章标签 图论 逍遥游

本文主要是介绍逍遥游——图论,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

逍遥游
\qquad 肩吾问于连叔:“吾闻言于接舆,大而无当,往而不返。吾惊怖其言,犹河汉无极也;大有径庭,不近人情也。”
\qquad 连叔曰:“其言何谓哉?”曰:“‘藐姑射之山有神人居焉,肌肤若冰雪,绰约若处子;不食五谷,吸风饮露;乘云气,御飞龙,而游乎四海之外;其神凝,使物不疵疠而年谷熟’。吾以是狂而不信也。”
\qquad 连叔曰:“然。瞽者无以与乎文章之观也,聋者无以与乎钟鼓之声。岂唯形骸有聋盲哉!夫知亦有之。是其言也,犹时女也。之人也,之德也,将旁礴万物以为一,世蕲乎乱,孰弊弊焉以天下为事!之人也,物莫之伤,大浸稽天而不溺,大旱金石流,土山焦而不热。是其尘垢秕糠,将犹陶铸尧舜者也,孰肯以物为事!宋人资章甫而适诸越,越人断发文身,五所用之。尧治天下之民,平海内之政,往见四子藐姑射之山,汾水之阳,窅然丧其天下焉。”

\qquad 庄子的作品,真的是天马行空,犹河汉无极也。在藐姑射( y e ˊ y\acute{e} yeˊ)山上,住着一位吸风饮露的神仙,像列子一样御风而行,云游天下,但却可以潜移默化地感化自然,使万物得其时,不违道也!但是眼界太过狭隘的人,却觉得这样的神仙怎么会存在呢?就好比我不知道的东西、我学不会的东西,那些就是假的、虚幻的、不存的?这只是自欺欺人罢了。我们得时刻保持着一颗开放包容(包罗万象,容纳万物)的心,去看待这个新鲜、瞬息变化的世界,只有这样,当我们看到新奇的一切时候,情绪才不会非常容易地受到外界的波动,做到价值中立。才不会像尧那样,往见四子藐姑射之山,汾水之阳,而窅然丧其天下焉。
\qquad 要是哪一天(那一天终究会到的),有机会的话,我要飘飘然地去藐姑射山上看看,见见那位老神仙。o( ̄▽ ̄)o

\qquad 今天给大家再推荐两首歌,都是戴荃演唱的,有点登仙地感觉
\qquad (。・∀・)ノ:
\qquad 一首是《悟空》[?]
(https://www.bilibili.com/video/av15268582?from=search&seid=14715506613969328107)
\qquad 一首是《老神仙》[?]
(https://www.bilibili.com/video/av22965132?from=search&seid=2954220234127856523)

今日份的知识大礼包:
预热: 庄子要是活到今天,他的数理逻辑一定学得很好。( ̄︶ ̄)↗

  1. 预备知识:
    (1)多重集合:集合中元素可以重复出现得集合;
    (2)无序积: A & B = { ( x , y ) ∣ x ∈ A ∧ y ∈ B } A\&B=\{(x,y)\big|x{\in}A\wedge y{\in}B\} A&B={(x,y)xAyB}(与笛卡儿积不同)
    (3)自反性:设 R R R A A A上的关系,若 ∀ x ( x ∈ A → &lt; x , x &gt; ∈ R ) {\forall}x(x{\in}A \rightarrow &lt;x,x&gt;{\in}R) x(xA<x,x>R),则称 R R R A A A上是自反的。
    (4)对称性:设 R R R A A A上的关系, 若 ∀ x ∀ y ( x , y ∈ A ∧ &lt; x , y &gt; ∈ R → &lt; y , x &gt; ∈ R ) {\forall}x{\forall}y(x,y{\in}A\wedge{&lt;}x,y{&gt;}{\in}R{\rightarrow}{&lt;}y,x{&gt;}{\in}R) xy(x,yA<x,y>R<y,x>R),则称 R R R A A A上的对称关系。
    (5)传递性:设 R R R A A A上的关系, 若 ∀ x ∀ y ∀ z ( x , y , z ∈ A ∧ &lt; x , y &gt; ∈ R &amp; &lt; y , z &gt; ∈ R → &lt; x , z &gt; ∈ R ) {\forall}x{\forall}y{\forall}z(x,y,z{\in}A\wedge{&lt;}x,y{&gt;}{\in}R\&amp;{&lt;}y,z{&gt;}{\in}R{\rightarrow}{&lt;}x,z{&gt;}{\in}R) xyz(x,y,zA<x,y>R&<y,z>R<x,z>R),则称 R R R A A A上的传递关系。
  2. 无向图 G = &lt; V , E &gt; G={&lt;}V,E{&gt;} G=<V,E>,其中 V ̸ = ∅ V{\not=}{\varnothing} V̸=是顶点集,其元素为顶点, E E E V &amp; V V{\&amp;}V V&V的多重子集,其元素为无向边,简称边。
  3. n n n阶图: n n n个顶点的图
  4. 有限图: V , E V,E V,E都是又穷集合的图
  5. 零图: E = ∅ E{=}{\varnothing} E=
  6. 平凡图: 1 1 1阶零图
  7. 空图: V = ∅ V{=}{\varnothing} V=
  8. 关联: e k = ( v i , v j ) e_k{=}(v_i,v_j) ek=(vi,vj)是无向图 G = &lt; V , E &gt; G{=}{&lt;}V,E{&gt;} G=<V,E>的一条边,称 v i , v j v_i,v_j vi,vj e k e_k ek的端点, e k e_k ek v i ( v j ) v_i{(}v_j{)} vi(vj)关联。若 v i ̸ = v j v_i{\not=}v_j vi̸=vj,则称 e k e_k ek v i ( v j ) v_i{(}v_j{)} vi(vj)关联次数为 1 1 1;若 v i = v j v_i{=}v_j vi=vj,则称 e k e_k ek v i ( v j ) v_i{(}v_j{)} vi(vj)关联次数为 2 2 2,此时称 e k e_k ek为环;若 v i ( v j ) v_i{(}v_j{)} vi(vj)不是 e k e_k ek端点,则称 e k e_k ek v i ( v j ) v_i{(}v_j{)} vi(vj)关联次数为 0 0 0。无边关联的顶点,称为孤立顶点。
  9. 设无向图 G = &lt; V , E &gt; , v i , v j ∈ V , e k , e l ∈ E G{=}{&lt;}V,E{&gt;},v_i,v_j{\in}V,e_k,e_l{\in}E G=<V,E>,vi,vjV,ek,elE,若 ( v i , v j ) ∈ E {(}v_i,v_j{)}{\in}E (vi,vj)E,则称 v i , v j v_i,v_j vi,vj相邻,若 e k , e l e_k,e_l ek,el至少有一个公共端点,则称 e k , e l e_k,e_l ek,el相邻。
  10. 顶点度数,设无向图 G = &lt; V , E &gt; , v ∈ V G{=}{&lt;}V,E{&gt;},v{\in}V G=<V,E>,vV
    (1) v v v的度数(度) d ( v ) d{(}v{}) d(v) v v v作为边的端点次数之和
    (2)悬挂顶点:度数为 1 1 1的顶点
    (3)悬挂便:与悬挂顶点关联的边
    (4) G G G的最大度 Δ ( G ) = m a x { d ( v ) ∣ v ∈ V } \Delta{(}G{)}{=}max\{d{(}v{)}\big|v{\in}V \} Δ(G)=max{d(v)vV}
    (5) G G G的最小度 δ ( G ) = m i n { d ( v ) ∣ v ∈ V } \delta{(}G{)}{=}min\{d{(}v{)}\big|v{\in}V \} δ(G)=min{d(v)vV}
    11. 图论基本定理——握手定理(非常重要)
    任意无向图的所有顶点度数之和都等于边数的2倍,并且有向图的所有顶点入度之和等于出度之和等于边数。(限于篇幅,没有介绍有向图,以后有机会补充)
    12. 图论基本定理——握手定理的推论(非常重要)
    在任意无向图和有向图中,奇度顶点的个数必定为偶数。(由此可以得出,不存在奇数个面而且每个面都具有奇数条棱的多面体)


最后附一条与图论有关的概率论问题,希望大家积极互动哦 d=====( ̄▽ ̄*)b
这是

N e w t o n m e t h o d Newton\quad method Newtonmethod
牛顿最小二乘法的求出近似值的 M a t l a b Matlab Matlab代码

syms x y z ;
r(1)=x;r(2)=y;r(3)=z;
N=98;
m=10;
A=100*rand(m);
B=100*rand(m);
C=100*rand(m);
D=randi([50 150],m,m);
E=[];
f(x,y,z)=0*x+0*y+0*z;
for i=0:Nk=fix(i/10)+1;j=mod(i,10)+1;n=fix((i+1)/10)+1;h=mod(mod(i,10)+1,10)+1;g(x,y,z)=0*x+0*y+0*z;g(x,y,z)=2*(A(n,h)-A(k,j))*x-((A(n,h))^2-(A(k,j))^2)+g(x,y,z);g(x,y,z)=2*(B(n,h)-B(k,j))*y-((B(n,h))^2-(B(k,j))^2)+g(x,y,z);g(x,y,z)=2*(C(n,h)-C(k,j))*z-((C(n,h))^2-(C(k,j))^2)+g(x,y,z);g(x,y,z)=((D(n,h))^2-(D(k,j))^2)+g(x,y,z);f(x,y,z)=(g(x,y,z))^2+f(x,y,z);f(x,y,z)=simplify(f(x,y,z));
end
H = [];
b = [];
Heq = [];
beq = [];
lb=[0,0,0];
ub=[1000,1000,1000];
x0=[0.1,0.1,0.1];
fun=@(r)f(x,y,z);
nonlcon = @circlecon;
r = fmincon(fun,x0,H,b,Heq,beq,lb,ub,nonlcon);circlecon.m 					//脚本文件,需要额外创建
function [c,ceq] = circlecon(r)
c=(r(1)-150)^2+(r(2)-150)^2+(r(3)-0)^2-1000^2;
ceq=[];

这篇关于逍遥游——图论的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/414525

相关文章

【代码随想录训练营第42期 续Day52打卡 - 图论Part3 - 卡码网 103. 水流问题 104. 建造最大岛屿

目录 一、做题心得 二、题目与题解 题目一:卡码网 103. 水流问题 题目链接 题解:DFS 题目二:卡码网 104. 建造最大岛屿 题目链接 题解:DFS  三、小结 一、做题心得 也是成功补上昨天的打卡了。 这里继续图论章节,还是选择使用 DFS 来解决这类搜索问题(单纯因为我更熟悉 DFS 一点),今天补卡的是水流问题和岛屿问题。个人感觉这一章节题对于刚

图论篇--代码随想录算法训练营第五十二天打卡| 101. 孤岛的总面积,102. 沉没孤岛,103. 水流问题,104.建造最大岛屿

101. 孤岛的总面积 题目链接:101. 孤岛的总面积 题目描述: 给定一个由 1(陆地)和 0(水)组成的矩阵,岛屿指的是由水平或垂直方向上相邻的陆地单元格组成的区域,且完全被水域单元格包围。孤岛是那些位于矩阵内部、所有单元格都不接触边缘的岛屿。 现在你需要计算所有孤岛的总面积,岛屿面积的计算方式为组成岛屿的陆地的总数。 解题思路: 从周边找到陆地,然后通过 dfs或者bfs 将

代码随想录 刷题记录-28 图论 (5)最短路径

一、dijkstra(朴素版)精讲 47. 参加科学大会 思路 本题就是求最短路,最短路是图论中的经典问题即:给出一个有向图,一个起点,一个终点,问起点到终点的最短路径。 接下来讲解最短路算法中的 dijkstra 算法。 dijkstra算法:在有权图(权值非负数)中求从起点到其他节点的最短路径算法。 需要注意两点: dijkstra 算法可以同时求 起点到所有节点的最短路径权值不

图论篇--代码随想录算法训练营第五十一天打卡| 99. 岛屿数量(深搜版),99. 岛屿数量(广搜版),100. 岛屿的最大面积

99. 岛屿数量(深搜版) 题目链接:99. 岛屿数量 题目描述: 给定一个由 1(陆地)和 0(水)组成的矩阵,你需要计算岛屿的数量。岛屿由水平方向或垂直方向上相邻的陆地连接而成,并且四周都是水域。你可以假设矩阵外均被水包围。 解题思路: 1、每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 2、遇到一个没有遍历过的节点陆地,计数器就加一,然后把该节点陆地所能遍历到的陆地都

图论篇--代码随想录算法训练营第五十天打卡| 深度优先搜索理论基础,98. 所有可达路径,广度优先搜索理论基础

深度优先搜索理论基础 DFS模板: void dfs(参数) {if (终止条件) {存放结果;return;}for (选择:本节点所连接的其他节点) {处理节点;dfs(图,选择的节点); // 递归回溯,撤销处理结果}} 98. 所有可达路径 题目链接:98. 所有可达路径 题目描述: 给定一个有 n 个节点的有向无环图,节点编号从 1 到 n。请编写一个函数,找出并返回所

数据结构实验图论:基于邻接矩阵/邻接表的广度优先搜索遍历(BFS)

数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历 Time Limit: 1000MS Memory limit: 65536K 题目描述 给定一个无向连通图,顶点编号从0到n-1,用广度优先搜索(BFS)遍历,输出从某个顶点出发的遍历序列。(同一个结点的同层邻接点,节点编号小的优先遍历) 输入 输入第一行为整数n(0< n <100),表示数据的组数。 对于

代码随想录算法训练营第六十二天 | 图论part11

97. 小明逛公园 #include <iostream>#include <vector>#include <climits>#include <fstream>using namespace std;void floyd(vector<vector<vector<int>>>& grid) {int n = grid.size() - 1;for (int k = 1; k <= n;

图论 求有向图的所有强连通分量 kosaraju算法

一、问题 如何找到有向图(a)中的所有强连通分量,如图(b)    二、kosaraju算法 Kosaraju的算法(又称为–Sharir Kosaraju算法)是一个线性时间(linear time)算法找到的有向图的强连通分量。   1. 原理 它利用了一个事实,逆图(与各边方向相同的图形反转, transpose graph)有相同的强连通分量的原始图。   2. 逆图

每日刷题(图论)

P1119 灾后重建 P1119 灾后重建 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路 看数据范围知道需要用到Floyd算法,但是道路是不能直接用的,需要等到连接道路的两个村庄重建好才可以使用,所以这需要按照时间依次加入中转点,再更新dis数组。 代码 #include<bits/stdc++.h>#define int long long #d

算法训练营|图论第11天 Floyd算法 A*算法

题目:Floyd算法 题目链接: 97. 小明逛公园 (kamacoder.com) 代码: #include<bits/stdc++.h>using namespace std;struct Edge {int to;int val;Edge(int t, int w) :to(t), val(w) {}};int main() {int n, m;cin >> n >> m;i