情况
根据官方教程,使用离线安装脚本进行安装。
安装后实际上在 /opt/halo 下运行的一个 Docker 的实例,实际是从 Nginx 反向代理出去的。
如果你和我的情况,那么就可以往后看(我使用的是 linux 系统)

高树靡阴,独木不林。
我们知道如何构建一个图的数据结构,那么现在,我们看看如何根据一棵图的图形,创建一张图到内存中去。
#define MAX_VEX_NUM 50 //最大的容量暂定为50
typedef enum {DG, UDG} GraphType; //选择有向图还是无向图
typedef struct {
char vexs[MAX_VEX_NUM]; //一维数组存储顶点
int arcs[MAX_VEX_NUM][MAX_VEX_NUM]; //二维数组(邻接矩阵)存储边
int vexnum, arcnum; //记录顶点的数量和边的数量,等下用作循环判断条件
GraphType type; //记录图得类型
} MGraph;
数据结构中
学了那么多图的知识,是时候动手设计一下图的存储结构了,图跟线性表、树有那么大得差别,所以图的数据结构要复杂很多。
我们先回忆一下线性表和树得存储结构
那么图呢?
我们观察下面的四张图

前面我们基本讲了什么是图结构,以及顶点、边和弧之间不同状态的特殊图结构,我们今天继续,看看这些顶点、边和弧之间的关系。
我们来讲讲顶点和边的一些关系
我们说,如果存在一个无向图,G(V,E)
邻接点(Adjacent)相邻接,不是连接!。
终于,我们迎来了新的数据结构,图结构。之前的线性表,主要是一对一的关系,一个元素和另一个元素的关系。树结构,主要层与层之间一对多的关系,即一个结点可以有 N 个子树,N 个子树也只对应一个双亲结点。那么大家也应该猜到了,图解决的是多对多的数据关系。

(顶点1有一个环的图结构)
**图(Graph):**是有顶点的又穷非空集合和顶点之间的边集合组成。
未完待续…
未完待续…
上一节我们发现,树、森林和二叉树之间竟然有这么多有趣的关联,前根和后根遍历结果竟然都可以跟二叉树相同。二叉树竟然这么的独特,今天我们就来看看,如何打造一棵完美二叉树!

我们在使用二叉树的时候,会遇到类似这样的问题
要弄清楚这个问题,我先首先要弄清楚刚才哪些加了数字的结点是什么。