文档详情

最小生成树之prim算法讲解.pptx

发布:2017-04-17约小于1千字共13页下载文档
文本预览下载声明
算法导论;问题简介;Prim算法;void?prim(int?n,?Type **c)?? {?? ????Typelowcost[MAX];?? ????int?clost[max];?? bool s[max]; s[1]=true; ????????for?(i?=?2;?i?=?n;?i++)?? ????{?? ????????lowcost[i]?=?c[1][i];?? ????????clost[i]?=?1;??s[i]=false; ????}???? ????for?(i?=?1;?i?n;?i++)?? ????{?? ????????Type min?=? inf;? ??????? int j=1;?? ????????for?(int k=?2;?k=?n;?k++)?? ????????{?? ????????????if?(lowcost[k]??min??!s[k])?? ????????????{??min?=?lowcost[k]? j=k;??}?? ????????}?? ????????cout??“j??’’?closet[j]??endl;?? ????????s[j]=true; ???????? ????????;算法过程详解;一. 初始化 在Prim算法中,最小生成树的起点设置为1. 此时S={1},由于S中只含有点1,故此时 lowcost[i]=c[1][i],Closet[i]=1: Lowcoset[1]=0, Lowcoset[2]=6, Lowcoset[3]=1, Lowcoset[4]=5, Lowcoset[5]=max, Lowcoset[6]=max, (max表示无直接连线) ;二.Lowcost 第一次循环 ;三. 更新lowcost数组;四. Lowcost数组第二次循环;五. Lowcost更新;;最终得到最小生成树S={1,3,6,4,2,5};
显示全部
相似文档