图论算法 -迪杰斯特拉算法(dijkstra)理解一

创作人QQ:851301776,邮箱:lfr890207@163.com, 欢迎大家一起技术交流,本博客主要是自己学习的心得体会,只为每天进步一点点!

 

个人座右铭:
1.没有横空出世,只要厚积一定发。
2.你可以学历不高,你可以不上学,但你不能不学习

备注:此部分还需在研究,目前只是初识阶段,很多地方还在学习,逻辑思维较复杂

一、图的分类

       1.有向图

        2.无向图

                

3.权重图

        

二、图的基本概念

        1.顶点集合:如上图S(vex) = {‘A’, ‘B’, ‘C’, ‘D’, ‘E’ , ‘F’};

        2.边集合:S(arc) = {<'A', 'B'>, <'A', 'C'>, <'A', 'D'>, <'B', 'F'>, <'B', 'C'>, <'C', 'E'>,

<'D', 'E'>, <'E', 'F'>}
        
        3.度:无向图中从一个点延伸出去的边数就是该点的度;有向图包含出度和入度;
        4.出度:有多少条边指向某点就是该点的出度
        
        5.入度:从某点出发向外指向延伸的边数就是该点的入度
三、图的存储
        
        1.存储的是关键是:顶点集合和边集合
         
        2.顶点信息存储在一维数组中,边信息存储在二维数组中
          
           优点:很容易算出边邻关系,以及节点的度
           缺点:边集合存储空间复杂度比较大

四、图的遍历

       1.从图中某一顶点触发,访问图中其余顶点,使得每个顶点被访问一次且只被访问一次

       2.可以从图中任意一个顶点出发进行遍历

       3.需要解决问题:

                (1)确定一条搜索路径

                (2)确保每个顶点被访问到

                (3)确保每个顶点智能被访问一次

        4.设置辅助数组,数组元素的初始值均为false,一旦遍历过就置为true.

五、深度优先搜索

        

                1.应用:检查连同分量的个数

                              两个点是否在一个连同分量中

                              检查是否构成环,从一个点出发能否回到出发点

六、广度优先搜索

        

        

        1.关键数据结构:队列

        2.应用:游戏中找寻路径问题

七、迪杰斯特拉算法(dijkstra

        1.该算法主要解决最短路径问题,采用的是贪心思想

        2.对象:权重图

       3.算法的核心思想:每次从路径最短的点出发遍历相邻边,检测改路径值(确保相邻点也是最短),从未被确认路径最短的顶点集合中选择最短路径的点,将该点加入确认路径最短的顶点集合,并将该点作为下次遍历相邻边的出发点

       4.核心步骤:更新、扫描、修改

        5.动态规划

                在学习

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QQ851301776

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值