当前位置: 首页 > 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.yayakq.cn/news/835163/

相关文章:

  • 杭州网站设计公司哪个好dede自适应网站注意事项
  • 乐平市网站建设如何做农产品网站
  • 吉林市做网站的公司哪家好网络营销知识网站
  • 网站开发选择什么软件耀华建设管理有限公司网站
  • 吉林市网站创意与建设合肥网站建设zgkr
  • 中国石油天然气第七建设公司网站php代理ip访问网站
  • 成都网站注册百度公司排名
  • 怎么做网站用户可以发表文章天津各区房价一览表
  • 无锡中英文网站建设wordpress网站源文件太多
  • 虹口专业做网站站长统计是什么意思
  • 高校网站开发郑州小程序设计外包
  • 网站设计开发是啥邮箱网址注册免费
  • 网页设计与网站建设中的热点学习建设网站
  • 凯里做网站的公司女同性做的视频网站
  • 搭建企业网站流程网站备案如何注销
  • 网站开发项目教程wordpress评论验证码
  • 阿里云做影视网站设计网站的目的
  • 医院网站建设规划书潍坊网站优化公司
  • 无锡网络公司无锡网站推广没网站能不能cpc广告点击赚钱做
  • 现在的官方网站怎么做的武昌网站建设公司
  • 商务通代码是不是只要放在网站根目录下就可以了厅网站建设中标公告
  • 昆明做网站建设企业推荐做网站公司怎么做
  • 怎么制作网站app珠海建设网站
  • asp网站和php网站的区别青岛做公司网站
  • 网站建设网络推广文章建设外贸网站注意什么
  • 营销型企业网站建设ppt网站域名解析时间
  • 手机网站内容模块网络服务列表在哪里
  • 网站空间商那个好长沙网站seo费用
  • 手机触屏网站免费建立微信网站
  • 网站空间购买2021年网络十大关键词