北京大学数据结构课件的第十讲,讲的是生成树最小生成树,内容挺系统的,适合你想快速掌握图论基础的场景。

连通图的生成树,简单来说,就是从一个点出发,能走遍所有顶点,而且不走重复路线。DFSBFS都能搞定这事,各有优劣,熟悉下实现方式,写算法题会快不少。

还有个蛮关键的概念是最小生成树。意思就是,在带权重的图里找一棵代价最小的树。图里的边都有“花费”,而你得在不丢掉任何节点的前提下,把这花费降到最低。

课件里重点讲了Prim 算法。嗯,这个算法还挺实用,尤其适合稠密图,基本套路就是从一个点开始,每次选一条最便宜的边扩展节点,直到全图都覆盖。

课件还给了例子,手把手演示了一遍,配合图来看清晰。如果你还不熟,可以顺带看下Prim 的 MATLAB 实现或者Kruskal 算法做对比。

对了,如果你是图论入门阶段,这一讲的内容真的蛮值得细读,是搞清楚每种算法适合什么样的图。多敲敲代码,理解会更深。