# distance(j) is distance from tree to node j
  # source(j) is which node of so
- far connected MST
  #                      is closest to node j
 
1    For all nodes i
 
2      distance(i)  =  infinity        # no connections
 
3      intree(i)  =  False             # no nodes in tree
 
4      source(i)  =  nil 

 
5    treesize  =   1                     # add node  1  to tree
 
6    treecost  =   0                    
 
7    intree( 1 =  True
 
8    For all neighbors j of node  1    # update distances
 
9       distance(j)  =  weight( 1 ,j)
10      source(j)  =   1  

11     while  (treesize  <  graphsize)
12      find node with minimum distance to tree; call it node i
13       assert  (distance(i)  !=  infinity,  " Graph Is Not Connected "

    # add edge source(i),i to MST
14      treesize  =  treesize  +   1
15      treecost  =  treecost  +  distance(i)
16      intree(i)  =  True              # mark node i as in tree 

    # update distance after node i added
17       for  all neighbors j of node i
18         if  (distance(j)  >  weight(i,j))
19          distance(j)  =  weight(i,j)
20          source(j)  =  i