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

开发一个网站多少钱啊微信商城开发需要多少钱

开发一个网站多少钱啊,微信商城开发需要多少钱,吉林网站建设业务,小蝌蚪xkdapp永久免费迪杰斯特拉算法(Diikstra) 是由荷兰计算机科学家狄克斯特拉于1959 年提出的#xff0c;因此又叫狄克斯特拉算法。 核心思想#xff0c;搜索到某一个顶点后#xff0c;更新与其相邻顶点的权重。顶点权重的数据含义表示从起始点到此点的最短路径长度#xff08;也就是经过的…迪杰斯特拉算法(Diikstra) 是由荷兰计算机科学家狄克斯特拉于1959 年提出的因此又叫狄克斯特拉算法。 核心思想搜索到某一个顶点后更新与其相邻顶点的权重。顶点权重的数据含义表示从起始点到此点的最短路径长度也就是经过的所有边的权重之和。DJ 算法搜索时每次选择的下一个顶点是所有权重值最小的顶点其思想是保证每一次选择的顶点和当前顶点权重都是最短的。所以DJ是基于贪心思想。 矩阵存储 常规时间复杂度O(n)可以使用堆优化优先队列时间复杂度降低到O(logN)。缺点是对于稀疏图而言空间浪费严重。 #include bits/stdc.h using namespace std;//矩阵存储图 int graph[100][100]; //顶点、边数 int v,e; //优先队列使用数组 int pri[100]; //存储起点到其它顶点之间的最短距离 int dis[100]; //设置无穷大常量 int const INF INT_MAX;/* *初始化函数 */ void init() {//初始化图中顶点之间的关系for(int i1; iv; i){for(int j1; jv; j){if( ij ){//自己和自己的关系权重为 0graph[i][j]0;}else{//任意两点间的距离为无穷大graph[i][j]INF;}}}//交互式确定图中顶点之间的关系int f,t,w;for( int i1; ie; i ){cinftw;graph[f][t]w;}//初始设编号为 1 的顶点为起始点,根据顶点的关系初始化起点到其它顶点之间的距离for(int i1; iv; i){dis[i]graph[1][i];}//初始化优先队列也称为候选队列for(int i1; iv; i ){if(i1){//起始顶点默认为已经候选pri[i]1;continue;}//其它顶点都可候选pri[i]0;}}/* * *Dijkstra算法 */ void dijkstra() {for(int i1; iv; i){//从候选队列中选择一个顶点要求到起始顶点的距离为最近的int u-1;int miINF;for( int j1; jv; j ){if(pri[j]0 dis[j]mi){midis[j];uj;}}if(u!-1)//找到后设置为已经候选pri[u]1;else //找不到就结束break;//查找与此候选顶点相邻的顶点且更新邻接点与起点之间的距离//相当于在此顶点基础上向后延长for( int j1; jv; j ){if( graph[u][j]!INF ){//找到相邻顶点if(dis[j]dis[u]graph[u][j] ){//更新dis[j]dis[u]graph[u][j];}}}}}/* * *显示最后的结果 */ void show() {for(int i1; iv; i){coutdis[i]\t;} }int main() {cinve;init();dijkstra();show();return 0; } //测试用例 6 9 1 2 1 1 3 12 2 3 9 2 4 3 3 5 5 4 3 4 4 5 13 4 6 15 5 6 4 //输出 0 1 8 4 13 17邻接表 整个时间复杂度可以优化到O(MN)logN。在最坏的情况下M(边数)就是N顶点数这样的话(MM)logN要比N还要大。但是大多数情况下并不会有那么多边因此(MM)logN要比N小很多。 #include bits/stdc.husing namespace std; /* * 顶点类型 */ struct Ver {//顶点编号int vid0;//第一个邻接点int head0;//起点到此顶点的距离顶点权重,初始为 0 或者无穷大int dis0;//重载函数bool operator( const Ver ver ) const{return this-disver.dis;}void desc(){coutvid disendl;} };/* * 边 */ struct Edge {//邻接点int to;//下一个int next0;//权重int weight; };class Graph { private:const int INFINT_MAX;//存储所有顶点Ver vers[100];//存储所有边Edge edges[100];//顶点数边数int v,e;//起点到其它顶点之间的最短距离int dis[100];//优先队列priority_queueVer proQue;public:Graph( int v,int e ){this-vv;this-ee;init();}void init(){for(int i1;iv;i){//重置顶点信息vers[i].vidi;vers[i].disINF;vers[i].head0;}int f,t,w;for(int i1; ie; i){cinftw;//设置边的信息edges[i].tot;edges[i].weightw;//头部插入edges[i].nextvers[f].head;vers[f].headi;}for(int i1; iv; i){dis[i]vers[i].dis;}}void dijkstra(int start){//初始化优先队列,起点到起点的距离为 0vers[start].dis0;dis[start]0;proQue.push(vers[start]);while( !proQue.empty() ){//出队列Ver verproQue.top();ver.desc();proQue.pop();//找到邻接顶点 i 是边集合索引号for( int iver.head; i!0; iedges[i].next){int vedges[i].to;//更新距离if( vers[ v ].dis ver.dis edges[i].weight ){vers[ v ].dis ver.disedges[i].weight;dis[ v ] vers[ v ].dis;//入队列proQue.push( vers[v] );}}}}void show(){for(int i1; iv; i){coutdis[i]\t;}}};int main() {int v,e;cinve;Graph graph(v,e);int s;cins;graph.dijkstra(s);graph.show();return 0; }
http://www.dnsts.com.cn/news/215723.html

相关文章:

  • 临沂网站开发公司中燃oa企业门户
  • 郴州建设公司网站兰州建设工程信息网站
  • 什么网站做ppt建站公司 深圳
  • 前端如何做双语网站内容管理系统设计
  • 怎么在网站标头做图标用dw个人网站怎么做
  • 长沙设计网站建设wordpress 总数 函数
  • 长春好的做网站公司建设网站托管费用
  • 公司网站设计意见厦门广告公司排名
  • 网站开发分哪几个步骤河南中建卓越建设管理有限公司网站
  • 专门做前端项目的一些网站土特产网站平台建设
  • 网站建设ui加盟做地方门户网站
  • 四川网站建设公司电话网站后台难做么
  • 山西长治做网站公司南京网站制作公司南京乐识专心
  • 代码优化网站排名WordPress做成小程序
  • 联邦快递的网站建设全国建筑业四库一平台
  • 哪些网站可以找到做药人的信息湛江网站建设费用
  • 南通网站建设教程电梯网站建设
  • 做房产中介搜房源的网站银川网站建设那家公司比较好
  • 公司网站建设详细方案凌风 wordpress 大学
  • h5商城网站怎么建设天眼查公司查询企业查询
  • 网站建设lhempirewordpress 小组插件
  • 小程序获取wordpress背景音乐长沙网站优化效果
  • 网站建设与维护目录学建设网站及功能
  • 网站如何添加百度地图网站开发示例
  • 网站自助服务建设策划怎样下载上海发布
  • 全国建设地产网站wordpress 本文目录
  • 网站怎么自己做优化wordpress 324
  • 企业站用wordpress做好吗网络平台推广具体是干啥
  • 免费申请做网站平台福建公司网站建设
  • 织梦建公司网站高端品牌型 营销型网站建设