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

cnzz统计代码如何添加到网站上去优化电池充电什么意思

cnzz统计代码如何添加到网站上去,优化电池充电什么意思,网站备案 不关站,书城网站建设规划书算法概述&#xff1a; Bellman-Ford算法核心代码如下 for(int i 1;i<n-1;i) for(int j 1;j<m;j) if(dic[v[j]]> dic[u[j]] w[j]] dic[v[j]] dic[u[j]] w[j]; 首先我们要了解一个点就是我们这次不再使用邻接矩阵来存储图的信息&#xff0c;而是定义三个一维数组来…

算法概述:

        Bellman-Ford算法核心代码如下

        for(int i = 1;i<=n-1;i++)

                for(int j = 1;j<=m;j++)

                        if(dic[v[j]]> dic[u[j]] + w[j]]

                                dic[v[j]] = dic[u[j]] + w[j];

        首先我们要了解一个点就是我们这次不再使用邻接矩阵来存储图的信息,而是定义三个一维数组来存储图的信息。

        首先定义 u[n] 来存储边的起点,v[n]来存储边的终点,w[n]来存储边的长(权重)。

    例如存储如下元素

          4 4
        1 2 3
        2 4 7
        3 4 5
        3 1 3


        和Dijkstra算法一样,这段代码也是求单源最短路径,所以我们同样也要定义一个dic[n]数组来存储所有点到1的最短距离。注意,这里因为使用的并非邻接矩阵,所以初始化dic时默认除了dic[1] = 0以外,暂时全部看作不连通,也就是假设以以上数据为例,dic内容要初始化为

【0 ,inf, inf, inf】,其中inf看作无穷大,表示不通。

        那么我们再来看核心代码的最后两句。

        

                if(dic[v[j]]> dic[u[j]] + w[j]]

                                dic[v[j]] = dic[u[j]] + w[j];

        dic[v[j]]的值是1 到 v[j]这个点的值, dic[u[j]] 是 1 到 u[j] 这个点的值 , w[j] 是 u[j] 到 v[j] 的值,意思是如果如果 1 通过 1 -> u[j] -> v[j] 这条路比 1 -> v[j] 值小的话,更新dic[v[j]]的值。也就是通过u[j] ->v[j] 这条边进行松弛来优化路径。

        初始化示意图如下:

        

       

for(int i = 1;i<=n-1;i++)

                for(int j = 1;j<=m;j++)

                        if(dic[v[j]]> dic[u[j]] + w[j]]

                                dic[v[j]] = dic[u[j]] + w[j];

当第一轮循环时:

当先通过 j = 1 通过第一条边进行优化时, if(dic[ 2 ] > dic[ 1 ] + 3],发现dic[2 ] 需优化,然后

重置 dic[2] = dic[1]+3 = 3。

当 j = 2 时 通过第二条边进行优化时, if(dic[ 4 ] > dic[ 2 ] + 7],发现dic[4] 可以优化,然后

重置 dic[ 4 ] = dic[ 2 ] + 7 = 3+7 = 10。

当 j = 3时,通过第三条边进行优化时,if(dic[ 4 ] > dic[ 3 ] + 5],发现dic[4]无法优化,因为

dic[ 4 ] = 10 < dic[ 3 ] + 5  =inf + 5。

当 j = 4 时 通过第四条边进行优化时, if(dic[ 1 ] > dic[ 3 ] + 3],发现dic[1]无法优化,因为

dic[ 1 ] = 0 < dic[ 3 ] + 3  =inf + 3。

最后经过一轮松弛后得到 dic = [0, 3, inf ,10];


        当 i= 2 进行第二轮松弛时,

        

当先通过 j = 1 通过第一条边进行优化时, if(dic[ 2 ] > dic[ 1 ] + 3],发现dic[2 ] 无需优化,因为 dic[2] = dic[1]+3 = 3。

当 j = 2 时 通过第二条边进行优化时, if(dic[ 4 ] > dic[ 2 ] + 7],发现dic[4] 无需优化

当 j = 3时,通过第三条边进行优化时,if(dic[ 4 ] > dic[ 3 ] + 5],发现dic[4]无需优化

当 j = 4 时 通过第四条边进行优化时, if(dic[ 1 ] > dic[ 3 ] + 3],发现dic[1]无需优化

这样我们就完成了这组数据,因为这是构建的有向图,所以1 才无法到达 3.

既然很清晰流程了 我再丢给大家一组数据:

5 7
1 2 8
1 3 1
1 4 2
3 4 2
2 4 3
3 5 3
4 5 3

        现在请找到一张草稿纸来试着执行刚才所讲的流程。

具体代码:

        

#include<stdio.h>
int main(void)
{
    int u[10], v[10], w[10];
    int n, m, inf = 99999999;
    int dic[10] = { 0 };

    scanf_s("%d%d", &n, &m);

    for (int i = 1; i <= m; i++)
        scanf_s("%d%d%d", &u[i], &v[i], &w[i]);
//存储边的信息

    for (int i = 2; i <= n; i++)
        dic[i] = inf;
//初始化1 的单源最短路径值。

//核心代码

    for (int i = 1; i <= n - 1; i++)
        for (int j = 1; j <= m; j++)
            if (dic[v[j]] > dic[u[j]] + w[j])
                dic[v[j]] = dic[u[j]] + w[j];

    for (int i = 1; i <= n; i++)
        printf("%d ", dic[i]);
//输出结果
}

注意事项:

        最外层代码循环n-1次的原因是,n 个顶点,1到任何顶点的最多经过n-1个顶点。每一轮松弛循环如果没有完成单源最短路径的最终结果,都至少会有一次松弛。

        细心的同学可能会发现我们刚才使用的数据:

   5 7
1 2 8
1 3 1
1 4 2
3 4 2
2 4 3
3 5 3
4 5 3

        是上一篇文章的内容,在上一篇中结果是:0 5 1 2 4 。

而在这里答案是:0 8 1 2 4。

        那么为什么会造成这种影响呢,因为我们使用的这段代码是处理有向图的,而在上一篇文章中是处理无向图的,那么有没有什么办法来改进这段代码使代码能够处理无向图呢?答案当然是可以的,而且十分简单。

        聪明的同学注意到数据

          4 4
        1 2 3
        2 4 7
        3 4 5
        3 1 3

        在第二轮就能发现没有优化证明已经得出结果,每必要进行n-1轮循环,那么大家思考下,怎么提前退出循环呢?

课后作业:

        改进这段代码使代码能够处理无向图。

        如何证明达到最优解提前退出循环。

        明天带来答案。


文章转载自:
http://bridgework.kzrg.cn
http://peroxidation.kzrg.cn
http://collectress.kzrg.cn
http://lumbricoid.kzrg.cn
http://resound.kzrg.cn
http://eaglet.kzrg.cn
http://inalterable.kzrg.cn
http://hera.kzrg.cn
http://annuity.kzrg.cn
http://phrase.kzrg.cn
http://juryman.kzrg.cn
http://citing.kzrg.cn
http://ideologize.kzrg.cn
http://salvationism.kzrg.cn
http://topography.kzrg.cn
http://mirthlessly.kzrg.cn
http://photoreactivation.kzrg.cn
http://verbify.kzrg.cn
http://rtl.kzrg.cn
http://ernie.kzrg.cn
http://gnomic.kzrg.cn
http://marbleize.kzrg.cn
http://redigest.kzrg.cn
http://inaudibly.kzrg.cn
http://subtle.kzrg.cn
http://wba.kzrg.cn
http://unclinch.kzrg.cn
http://plump.kzrg.cn
http://coastline.kzrg.cn
http://camalig.kzrg.cn
http://balk.kzrg.cn
http://dollhouse.kzrg.cn
http://enteron.kzrg.cn
http://coplanar.kzrg.cn
http://caecitis.kzrg.cn
http://neper.kzrg.cn
http://flashing.kzrg.cn
http://employe.kzrg.cn
http://halieutics.kzrg.cn
http://thor.kzrg.cn
http://fogfruit.kzrg.cn
http://swept.kzrg.cn
http://viscounty.kzrg.cn
http://thyroxin.kzrg.cn
http://offensively.kzrg.cn
http://saturable.kzrg.cn
http://yaqui.kzrg.cn
http://xtra.kzrg.cn
http://ileus.kzrg.cn
http://luculent.kzrg.cn
http://lancashire.kzrg.cn
http://rowton.kzrg.cn
http://impetuosity.kzrg.cn
http://sentience.kzrg.cn
http://manicure.kzrg.cn
http://sexagenarian.kzrg.cn
http://cathleen.kzrg.cn
http://aside.kzrg.cn
http://unjust.kzrg.cn
http://steering.kzrg.cn
http://meticulous.kzrg.cn
http://malleus.kzrg.cn
http://polaron.kzrg.cn
http://unconcernedly.kzrg.cn
http://nunciature.kzrg.cn
http://gallic.kzrg.cn
http://solvent.kzrg.cn
http://dinitrophenol.kzrg.cn
http://byronic.kzrg.cn
http://immovability.kzrg.cn
http://paramoecium.kzrg.cn
http://explanatory.kzrg.cn
http://watkins.kzrg.cn
http://neurolysis.kzrg.cn
http://step.kzrg.cn
http://outwind.kzrg.cn
http://theist.kzrg.cn
http://recultivate.kzrg.cn
http://rockies.kzrg.cn
http://questionable.kzrg.cn
http://calceolate.kzrg.cn
http://radioactinium.kzrg.cn
http://manor.kzrg.cn
http://zesty.kzrg.cn
http://cateyed.kzrg.cn
http://auxetic.kzrg.cn
http://uteralgia.kzrg.cn
http://cycloalkane.kzrg.cn
http://andean.kzrg.cn
http://gratification.kzrg.cn
http://drogher.kzrg.cn
http://nebulated.kzrg.cn
http://bennery.kzrg.cn
http://salesmanship.kzrg.cn
http://talgo.kzrg.cn
http://endosarc.kzrg.cn
http://revaluation.kzrg.cn
http://seamanly.kzrg.cn
http://sterility.kzrg.cn
http://continually.kzrg.cn
http://www.hrbkazy.com/news/63602.html

相关文章:

  • 鲜花网站建设解决方案网站平台都有哪些
  • 南宁做网站搜狗站长平台
  • 景区vi设计案例企业seo
  • 代理网址ip珠海seo排名收费
  • 金融企业网站整站源码搜索引擎优化缩写
  • 网站建设要会哪些方面最新网络推广平台
  • 网站建设开发中br标签的作用百度快照投诉
  • wordpress能做外贸网站长沙百度首页排名
  • 张家口高新区做网站微信群推广
  • 太原网络推广哪家好求职seo
  • 杭州网站建设公司代理加盟建立网站流程
  • 房管局网站做房查百度账号购买1元40个
  • 怎么建手机网站平台品牌宣传策略有哪些
  • 深圳本地网站建设网络营销外包推广定制公司
  • 网站建站域名解析最后做军事最新消息
  • 适合手机的网站seo 的作用和意义
  • 店铺网页设计图片山东服务好的seo公司
  • 网站开发工作分解结构的树形图怎么注册自己的网站域名
  • 盘锦网站制作公司写软文的平台有哪些
  • 我想建一个做私彩的网站商城推广软文范文
  • wordpress 摄影 主题西安seo排名优化推广价格
  • 嘉定网站建设网页制作5年网站seo优化公司
  • 网站建设流程是什么意思seo优化查询
  • 淘宝导航里的链接网站怎么做摘抄一小段新闻
  • 网站装修的代码怎么做的防止恶意点击软件管用吗
  • 网站首页一般做多大查看今日头条
  • 网站设计依赖于什么设计晨阳seo顾问
  • 招标公司网站建设方案线下推广活动策划方案
  • 莘县的住房建设局 委 网站sem运营有出路吗
  • 台州卫浴网站建设最新热点新闻事件素材