data structures using int visited[max] [max]parent[max]int ijkminuvcostfor ( <ni++ [iadj[src][ ]visited[ parent[isrcvisited[src cost for ( ni++min for ( <nj++if (visited[ ]== & [jminmin [ ] jcost + [ ]visited[ //cost cost [ ]tree[ ][ parent[ ]tree[ ++][ ufor ( <nv++if (visited[ ]== &(adj[ ][vd[ ]) [vadj[ ][ ]parent[vureturn costvoid display(int costint iprintf("\ the edges of the mininum spanning tree are")for ( ni++printf(% % \ "tree[ ][ ]tree[ ][ ])printf("\ the total cost of the minimum spanning tree is % "cost)main(int sourcetreecostreadmatrix()printf("\ enter the source ")scanf("% "&source)treecost spanningtree(source)display(treecost)return output enter the number of nodes in the graph enter the adjacency matrix