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

沧州做网站公司网页设计的五大原则

沧州做网站公司,网页设计的五大原则,wordpress用oss图床,杭州企业网站设计制作对fill用法的介绍 1.用邻接矩阵实现 const int maxn100; const int INF100000000;//无穷大,用来初始化边 int G[maxn][maxn];//用邻接矩阵存储图的信息 int isin[maxn]{false};//记录是否已被访问 int minDis[maxn];//记录到顶点的最小距离void Dijkstra(int s,in…

对fill用法的介绍

1.用邻接矩阵实现

const int maxn=100;
const int INF=100000000;//无穷大,用来初始化边
int G[maxn][maxn];//用邻接矩阵存储图的信息
int isin[maxn]={false};//记录是否已被访问
int minDis[maxn];//记录到顶点的最小距离void Dijkstra(int s,int num){fill(minDis,minDis+num,INF);//先无穷大覆盖minminDis[s]=0;//令起始结点为0for(int i=0;i<num;i++){//记录最短距离及其对应下标:先初始化为最小int m=INF,centra=-1;for(int j=0;j<num;j++){//若未被访问且到顶点的最短距离最小if(isin[j]==false&&minDis[j]<m){//更新最短距离及其下标m=minDis[j];centra=j;}}//找不到最小的顶点了,说明此时剩余结点与顶点连通,无关INF,说明已结束if(centra==-1) return;isin[centra]=true;//开放与centra有关的顶点,并更新其当前到顶点的最小距离for(int k=0;k<num;k++){if(isin[k]==false&&G[centra][k]!=INF&&G[centra][k]+minDis[centra]<minDis[k])minDis[k]=G[centra][k]+minDis[centra];}}
}

记录最短路径

添加一个记录结点的数组即可,将它记录最短路径的结点的前一个结点

const int maxn=100;
const int INF=100000000;//无穷大,用来初始化边
int G[maxn][maxn];//用邻接矩阵存储图的信息
int isin[maxn]={false};//记录是否已被访问
int minDis[maxn];//记录到顶点的最小距离
int pre[maxn];//记录最短路径void Dijkstra(int s,int num){fill(minDis,minDis+num,INF);//先无穷大覆盖minminDis[s]=0;//令起始结点为0for(int i=0;i<num;i++)pre[i]=i;//初始化为自身for(int i=0;i<num;i++){//记录最短距离及其对应下标:先初始化为最小int m=INF,centra=-1;for(int j=0;j<num;j++){//若未被访问且到顶点的最短距离最小if(isin[j]==false&&minDis[j]<m){//更新最短距离及其下标m=minDis[j];centra=j;}}//找不到最小的顶点了,说明此时剩余结点与顶点连通,无关INF,说明已结束if(centra==-1) return;isin[centra]=true;//开放与centra有关的顶点,并更新其当前到顶点的最小距离for(int k=0;k<num;k++){if(isin[k]==false&&G[centra][k]!=INF&&G[centra][k]+minDis[centra]<minDis[k]){minDis[k]=G[centra][k]+minDis[centra];//记录最短距离pre[k]=u;//记录最短路径的前驱结点}}
}
void minPath(int begin,int now){//输出if(now==begin)//回溯到起点{cout<<begin;return;//跳到下一层}minPath(begin,pre[now]);cout<<now;//从起点后不断往外,输出结点}

2.用邻接表实现

#include <vector>
using namespace std;
const int maxn=100;
const int INF=10000000000;
bool isin[maxn]={false};
int path[maxn];
struct node{int id;//结点编号int value;//结点的边权
}nodes;
vector<node> v[maxn];void Dijisktra(int s,int num){int m,mp;fill(path,path+num,INF);path[s]=0;for(int i=0;i<num;i++){mp=INF;m=-1;for(int j=0;j<num;j++){if(isin[j]==false&&path[j]<mp){m=j;mp=path[j];}}if(m==-1) return;isin[m]=true;//只有这里与邻接矩阵不同,因为邻接表存储结点信息的方式不同 for(int k=0;k<num;k++){//v[m][k]-指的是顶点m中第k+1个与m相连的结点int index=v[m][k].id;if(isin[index]==false&&v[m][k].value+mp<path[index])path[index]=v[m][k].value+mp;}}
}

模拟简单实现

#include <iostream>
using namespace std;
const int maxn=100;
const int INF=10000000;
bool isin[maxn]={false};
int G[maxn][maxn],num,edge,begins;
int path[maxn];void Dijisktra(int s){fill(path,path+num,INF);path[s]=0;for(int i=0;i<num;i++){int m=-1,n=INF;for(int j=0;j<num;j++){if(isin[j]==false&&path[j]<n){m=j;n=path[j];}}if(m==-1) return;isin[m]=true;for(int k=0;k<num;k++){if(isin[k]==false&&G[m][k]!=INF&&G[m][k]+path[m]<path[k])path[k]=G[m][k]+path[m];}}
}
int main(){int v1,v2,weight;cin>>num>>edge>>begins;fill(G[0],G[0]+maxn*maxn,INF);//初始为无穷for(int i=0;i<edge;i++){cin>>v1>>v2>>weight;G[v1][v2]=weight;}Dijisktra(begins);for(int i=0;i<num;i++)if(i!=num-1)cout<<path[i]<<" ";else cout<<path[i]<<endl;return 0;
}
http://www.yayakq.cn/news/223514/

相关文章:

  • 注册网站需要什么手续网站logo如何替换
  • 花店网站设计织梦网站网址变了如何搬家
  • 手机网站适应屏幕网站开发交流
  • 深圳网站建设外包公司广告产品
  • 陕西网站建设平台如何更改wordpress登录密码错误
  • idc 网站备案无锡朝阳网站推广
  • 移动版网站建设长沙优化网站哪家公司好
  • 西安网站维护招聘网站制作寻找客户
  • 外贸用什么平台自建站较好手机赚钱
  • 电商网站建站报价网站建设 amp 找VX cp5173
  • 四川省住房与建设厅网站首页北京cos网站
  • 怎么利用网站做淘宝客龙岩网站建设一般多少钱
  • php网站进后台顺德做网站公司
  • 网站实名制 怎么做wordpress中文名字注册
  • 苏州百姓网免费发布信息网保定网站seo哪家公司好
  • 鞍山网站设计WordPress担保系统
  • 网站建设的价值常州市网站优化
  • 河南推广网站wordpress多板块
  • 合肥红酒网站建设个人社保缴费证明在哪里下载
  • 无水印做海报的网站jsp 哪些网站
  • 深圳做网站的公司有哪些苏州高端网站制作机构
  • 网站防御代理网站电话素材
  • 网站开发属于哪个类目大连网站关键词
  • 建设通网站会员共享密码建筑工程教育网官网
  • 找网站设计公司环保企业网站模板
  • 免费网站设计培训班wordpress 如何获得数据库数据
  • 网络营销导向企业网站建设的一般原则是什么?长兴县建设管理网站
  • 建设网站和别人公司重名余杭住房和城乡建设局网站
  • 建设网站的企业专业服务宁波环保营销型网站建设
  • 企业网站源码php齐家装饰公司官网