当前位置: 首页 > news >正文

外贸建站如何推广企业网站建设方案策划

外贸建站如何推广,企业网站建设方案策划,wordpress循环调用最新文章,网站开发教学视频目录 1.最小生成树算法 1.Kruskal算法 2.Prim算法 1.最小生成树算法 定义:最小生成树算法:连通图有n个顶点组成,那么此时的图的每一个点都能相互连接并且边的个数为n-1条,那么此时该图就是最小生成树. 下面量算法有几个共同的特点: 1.只能使用图中权值最小的边来构造生成树 …

目录

1.最小生成树算法

1.Kruskal算法

2.Prim算法


1.最小生成树算法

定义:最小生成树算法:连通图有n个顶点组成,那么此时的图的每一个点都能相互连接并且边的个数为n-1条,那么此时该图就是最小生成树.

下面量算法有几个共同的特点:

1.只能使用图中权值最小的边来构造生成树

2.只能使用恰好n-1条边构造生成树

3.n-1条边的图不能存在回路

4.Kruskal和Prim两个算法都采用了逐步求解的贪心策略

1.Kruskal算法

任给一个有n个顶点的连通网络N={V,E},首先构造一个由这n个顶点组成、不含任何边的图G={V,NULL},其中每个顶点自成一个连通分量,其次不断从E中取出权值最小的一条边(若有多条任取其一),若该边的两个顶点来自不同的连通分量,则将此边加入到G中。如此重复,直到所有顶点在同一个连通分量上为止。核心:每次迭代时,选出一条具有最小权值,且两端点不在同一连通分量上的边,加入生成树。

		//数组的下标添加边void _AddEdge(size_t srci, size_t dsti, const W& w){_matrix[srci][dsti] = w;// 无向图if (Direction == false){_matrix[dsti][srci] = w;}}struct Edge{size_t _srci;size_t _dsti;W _w;Edge(size_t srci, size_t dsti, const W& w):_srci(srci), _dsti(dsti), _w(w){}bool operator>(const Edge _edge)const{return _w > e._w;}};W Kruskal(Self& minTree){size_t n = _vertexs.size();minTree._vertexs = _vertexs;minTree._indexMap = _indexMap;minTree._matrix.resize(n);for (size_t i = 0; i < n; ++i){minTree._matrix[i].resize(n, MAX_W);}priority_queue<Edge, vector<Edge>, greater<Edge>> minque;for (size_t i = 0; i < n; ++i){for (size_t j = 0; j < n; ++j){if (i < j && _matrix[i][j] != MAX_W){minque.push(Edge(i, j, _matrix[i][j]));}}}int size = 0;W totalW = W();UnionFindSet ufs(n);while (!minque.empty()){Edge min = minque.top();minque.pop();if (!ufs.InSet(min._srci, min._dsti)){minTree._AddEdge(min._srci, min._dsti, min._w);ufs.Union(min._srci, min._dsti);++size;totalW += min._w;}}if (size == n - 1)return totalW;elsereturn W();}

2.Prim算法

1.从源点出发,将所有与源点连接的点加入一个待处理的集合中

2.从集合中找出与源点的边中权重最小的点,从待处理的集合中移除标记为确定的点

3.将找到的点按照步骤1的方式处理

4.重复2,3步直到所有的点都被标记

(重点是不需要并查集来判断是否成环,因为两个集合就天然区分是否成环的因素)

		W Prim(Self& minTree,const V& src){size_t srci = GetVertexIndex(src);size_t n = _vertexs.size();minTree._vertexs = _vertexs;minTree._indexMap = _indexMap;minTree._matrix.resize(n);for (size_t i = 0; i < n; ++i){minTree._matrix[i].resize(n, MAX_W);}vector<bool> X(n, false);vector<bool> Y(n, true);X[srci] = true;Y[srci] = false;priority_queue<Edge, vector<Edge>, greater<Edge>> minq;for (int i = 0; i < n; ++i){if (_matrix[srci][i] != MAX_W){minq.push(Edge(srci, i, _matrix[srci][i]);}}size_t num = 0;W sum = W();while (!minq.empty()){Edge min = minq.top();minq.pop();if (!X[min._dsti]){minTree.AddEdge(min._srci, min._dsti, min._w);X.insert(min._dsti);Y.erase(min._dsti);++num;sum += min._w;if (num == n - 1) break;for (int i = 0; i < n; ++i){if (_matrix[min._dsti][i] != MAX_W && Y[i]){minq.push(Edge(min._dsti, i, _matrix[min._dsti][i]);}}}}if (num == n - 1)return sum;elsereturn W();}
http://www.dt0577.cn/news/53263.html

相关文章:

  • 网站建设网站需要什么深圳最新新闻事件今天
  • 网站推广的目的有哪些旺道seo优化软件怎么用
  • 微信超市小程序西安seo网站关键词
  • 网站的技术维护一般要做些什么企业推广语
  • 扬州建设机械网站seo基本概念
  • 怎样用织梦做音乐网站企业网站模板免费
  • 黑龙江省和城乡建设厅网站最近最新的新闻
  • 哪里有做网站技术西安seo阳建
  • 张家港建设局官方网站个人网页制作成品欣赏
  • 万网域名注册官网网页版seo做的比较好的公司
  • 桂林网站建设找骏程福建网络seo关键词优化教程
  • 做木质的网站常用的关键词有哪些
  • 如何提高网站的曝光率福州百度关键词排名
  • 众筹网站开发百度快照推广
  • 免费招收手游代理seo搜索优化网站推广排名
  • 此网站建设于美利坚汽车宣传软文
  • 做外卖网站的模板有创意的营销策划案例
  • 全国公共资源交易平台网站首页关键词如何优化
  • 外贸网站用什么空间seo怎么推排名
  • 网站建设正文字体多大合适必应bing国内版
  • 门户网站做什么是seo
  • python mysql开发网站开发今天重大新闻
  • 自己做的网站竞价优化百度网盘pc网页版入口
  • 做布料的著名网站百度网盘官网
  • 分毫报价小程序seo网站培训
  • 深圳便宜网站建设seo数据分析
  • 知网网站开发宣传渠道和宣传方式有哪些
  • 网络营销网站的建设与策划网站排名顾问
  • 怎么把asp网站做的好看外链的作用
  • 省建设厅官方网站阿里指数app下载