Kruskal算法的思路是不停地加入当前的最短边,如果构成回路,那么它一定是这个回路中最长的边,删除之。一直到第n-1条边为止。这是T中不包含任何回路,因此是树。算法描述如下:
         
  最终,如果T连通,则为最小支撑树,否则说明图G非连通。

  算法的正确性可以由下面的定理来保证:
  定理6.6.1:T=(V, E')是赋权连通图G=(V, E)的最小支撑树,当且仅当对任意的余数边,回路满足其边权
  定理证明略。

  当采用堆结构存放图G各条边的权重时,算法的计算复杂度为,其中p是迭代次数。