今天小孱弱弱像往常一样码,克鲁斯卡尔算法中的边集数组,由于比较冷门,网上几乎找不到邻接矩阵转化边集数组的信息,于是小孱弱鼓起勇气写一篇,帮助有需要的人。
为了保证时间复杂度不能太高,我们在遍历邻接矩阵时,由于是无向图,我们只需遍历左下三角形就ok,瞬间复杂度降低一大块,再往下,使用简单的冒泡排序将结构体按照权值排好。其实还有可以改进的地方,这只是做参考,希望帮到大家!//邻接矩阵转化边集数组 void TransEdge(Edge edges[],MGraph *G) { int i,j,k; for(i=0;i<G->numVertexes;i++) for(j=0,k=0;j<G->arc[i][j]!=0;j++,k++) { if(G->arc[i][j]!=0&&G->arc[i][j]<INFINITY) { edges[k].begin=i; edges[k].end=j; edges[k].weight=G->arc[i][j]; } } //按照权排序(冒泡) for(i=0;i<k-1;i++) for(j=i+1;j<k;j++) { if(edges[i].weight>edges[j].weight) { Edge T; T=edges[i];edges[i]=edges[j];edges[j]=T; } } }
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算