35 深度和广度优先搜索
图的深度和广度优先搜索
1. 特性
上一节我们讲解了图的存储和表示,这一节我们来介绍图上的搜索算法。图的搜索方法有很多,最常见的就是深度和广度优先搜索,除此之外还有 A*、IDA* 等启发式搜索算法。因为邻接表更加常用,我们就以邻接表作为图的存储方式来讲解最基础的深度和广度优先算法。
图的深度和广度优先搜索
上一节我们讲解了图的存储和表示,这一节我们来介绍图上的搜索算法。图的搜索方法有很多,最常见的就是深度和广度优先搜索,除此之外还有 A*、IDA* 等启发式搜索算法。因为邻接表更加常用,我们就以邻接表作为图的存储方式来讲解最基础的深度和广度优先算法。
如何表示一个图
从本节开始,我们将进入图的学习。图是一种比树更复杂的非线性结构,图中有以下一些专用术语:
很显然在表示和存储一个图时,我们需要保存图的顶点,边,以及边的方向和权重。而图的存储有两个常见方法: 邻接矩阵和邻接表
编程思想之动态规划实战
上一篇,我们总结了动态规划的使用场景,以及如何利用动态规划去解决问题了,总结了:
并总结对比了四中编程思想之间的区别。这些东西都非常理论,需要慢慢消化。本文是动态规划的实战篇,也是编程思想系列的最后一篇。
zabbix安装与入门

前面我们对一个完整的监控系统包含的内容做了一个简单概述,各种监控系统的开源实现无非都是围绕我们介绍的内容展开。在监控系统的众多实现中 zabbix 最为常见,功能也最为强大,本节我们首先对 zabbix 做个详细介绍,内容包括:
编程思想之动态规划理论
动态规划比起其三个算法思想更难懂。上一篇文章我们从实践角度介绍了如何利用动态规划解决问题。有了这个基础,接下来我们来解决如下几个问题:
运维故障发现思路与监控系统应用

运维领域有一句话"我们不应该允许没有被监控的系统上线的",显然监控对于我们快速发现问题解决问题至关重要。本章我们就来学习最常用的监控系统 zabbix 的安装,配置和使用。