先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注运维)

正文

for(int i=1;i<=n;i++){

G[i][i]=0;

}

dist[k]=0;

/*正式迪杰斯特拉*/ //要更新n个结点

for(int i=1;i<=n;i++){

int min=INT_MAX;

int jj=-1;

/*找到距离k最短的距离*/

for(int j=1;j<=n;j++){

if(visit[j]==0 && dist[j]

jj=j;

min=dist[j];

}

}

/*visit[]*/

if(jj==-1){return -1;}

visit[jj]=1;

res=max(res,min);

/*更新以jj为头结点的距离*/

for(int j=1;j<=n;j++){

if(G[jj][j]!=INT_MAX && visit[j]==0 && dist[j]>dist[jj]+G[jj][j]){

dist[j]=dist[jj]+G[jj][j];

}

}

}

return res;

}

};

#### Python:

class Solution: def networkDelayTime(self, times: List[List[int]], n: int, k: int) -> int: G=[[float(“inf”) for _ in range(n+1)] for _ in range(n+1)] dist=[float(“inf”)](n+1) visit=[0](n+1) res=0 len_=len(times) for i in range(len_): G[times[i][0]][times[i][1]]=times[i][2]

for i in range(1,n+1):

G[i][i]=0

dist[k]=0

for i in range(1,n+1):

min_=float("inf")

jj=-1

for j in range(1,n+1):

if visit[j]==0 and dist[j]

jj=j

min_=dist[j]

if jj==-1:

return -1

visit[jj]=1

res=max(res,min_)

for j in range(1,n+1):

if G[jj][j]!=float("inf") and visit[j]==0 and dist[j]>dist[jj]+G[jj][j]:

dist[j]=dist[jj]+G[jj][j]

return res

## Floyd算法:

>

> **Floyd算法不能有环,允许有带负权值的边,但不允许有包含带负权值的边组成的回路**

> 采用动态规划的思想,用结点k来更新结点i,j之间的距离:G[i][j]=?=G[i][k]+G[k][j],用三层for循环来实现

>

>

> 参考PPT:

>

>

> ![](https://img-blog.csdnimg.cn/direct/c9748fc5b1d842debdb30af16f00b69c.png)

>

>

>

### 代码:

#### C++:

class Solution { public: int networkDelayTime(vector& times, int n, int k) { int inf=INT_MAX/2; vector G(n+1,vector(n+1,inf)); /初始化/ int len=times.size(); for(int i=0;iG[i][k]+G[k][j]){ G[i][j]=G[i][k]+G[k][j]; } } } }

/*求结果*/

int res=0;

for(int i=1;i<=n;i++){

res=max(res,G[k][i]);

}

if(res==INT_MAX/2){return -1;}

return res;

}

};

#### Python:

class Solution: def networkDelayTime(self, times: List[List[int]], n: int, k: int) -> int: G=[[float(“inf”) for _ in range(n+1)] for _ in range(n+1)]

len_=len(times)

for i in range(len_):

G[times[i][0]][times[i][1]]=times[i][2]

for i in range(1,n+1):

G[i][i]=0

for kk in range(1,n+1):

for i in range(1,n+1):

for j in range(1,n+1):

if G[i][j]>G[i][kk]+G[kk][j]:

G[i][j]=G[i][kk]+G[kk][j]

res=0

for i in range(1,n+1):

res=max(res,G[k][i])

if res==float("inf"):

return -1

return res

注意是,应该是:(不要用k哦)

for kk in range(1,n+1)

## Bellman Ford算法:

>

> 该算法用于在带权图中(可以有负权边)找到从单一源点到所有其他顶点的最短路径,也可以检测是否有负权环。

> 检测负环的原理基于这样一个事实:在一个包含`n`个顶点的图中,任何两个顶点之间的最短路径最多包含`n-1`条边。因此,Bellman-Ford算法的基本步骤包括对所有边重复进行`n-1`次松弛操作。松弛操作即:

>

>

>

> ```

> if(res[a]!=INT_MAX && res[a]+w

### 最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

### 资料预览

给大家整理的视频资料:

![](https://img-blog.csdnimg.cn/img_convert/ef869b6b94c7f1372f593f211d0c45ec.png)

给大家整理的电子书资料:

![](https://img-blog.csdnimg.cn/img_convert/220cde988234aa2d12f8fffff2291957.png)

**如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)**

![img](https://img-blog.csdnimg.cn/img_convert/265f760f383bd5aeddb2b1dadc5811d9.jpeg)

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)**

[外链图片转存中...(img-RJwwxRR1-1713226204956)]

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

推荐链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。