好,既然决定了使用哪种算法,那就开始准备工作吧!
杨成调出编辑器面板。
首先应该准备的,是一个无向图。
无向图,顾名思义,没有限制具体方向的地图。
就好比两点之间,你可以到我这儿来,我也可以到你那里去。
对于地图底层实现,一般有两种方式:
邻接表和邻接矩阵。
杨成决定使用邻接表来实现这个无向图。
那应该提供哪些方法来方便调用呢?
像节点和边的增删改查方法,这些肯定是必备的啊。
然后,像检测图连通性的方法,也是必须的吧!
Prim算法的性质决定了,它只能处理无向图和连通了的图。
然后接下来呢,应该准备一个优先级队列。
它是Prim算法能够加快效率的秘诀。
这个优先级队列的底层是最小堆。
上面这两个子任务就花掉了杨成几个小时。
他长吁一口气,擦了一把汗。
现在万事俱备,只欠东风咯!