数据结构与算法之图计算
来源:互联网 发布:济南富士软件怎么样 编辑:程序博客网 时间:2024/05/21 03:55
图算法,在实际的编程中还是会经常遇到的,最主要的就是两种图的遍历算法。举个例子,Java程序员必须掌握的垃圾回收(Garbage Collection,GC)里面,就非常依赖图算法。所以,在讨论GC之前,我们必须先把图的知识掌握了。
图的概念
在图中的数据元素通常称为结点,V是所有顶点的集合,E是所有边的集合。 如果两个顶点v, w,只能由v向w,而不能由w向v,那么我们就把这种情况叫做一个从 v 到 w 的有向边。v也被称做初始点,w也被称为终点。这种图就被称做有向图。如果v和w是没有顺序的,从v到达w和从w到达v是完全相同的,这种图就被称为无向图。对于有向图,边数最多是n(n-1),边数最多的是有向完全图;图中的边数很少,这种图也被叫稀疏图;如果边数比较多,就称为稠密图。有时图的边具有与它相关的数,这种与图的边相关的数就叫做权;一个带权有向图。这种图也被称为网络。
图的搜索
图的遍历问题,就是指依照连通性,把图中所有的点都访问一遍,而且每个节点只访问一次,不会出现重复访问。
广度优先:
给定图 G 和一个特定的源顶点 s,搜索算法会系统地搜索 G 中的边,用以发现可以从 s 到达的所有顶点,并计算 s 到所有这些可达顶点之间的距离。
深度优先:
在一开始,图中的所有顶点都没有被访问,则深度优先搜索可以从图中某个顶点v 出 发,访问与此顶点相邻接的顶点。假如与v 相邻接的顶点有多个,我们在访问了其中一个以 后,假如记为w,可以选择继续访问与w 相邻接的顶点,也可以选择与v 相邻接的其他顶点。 **如果选择与w 相邻接的顶点,做为下一次的扩展,这就是深度优先算法** **如果选择与v 相邻接的其他顶点,这就是广度优先算法。**图的深度优先算法与树的先序遍历是十分相似的
阅读全文
0 0
- 数据结构与算法之图计算
- 数据结构与算法之----图
- 数据结构与算法之图
- 数据结构与算法之十一 图
- 算法与数据结构:计算的科学
- 数据结构与算法-如何计算时间复杂度
- 数据结构与算法分析-素数计算
- 数据结构与算法学习笔记--计算模型
- 数据结构与算法分析计算后缀表达式
- 多核计算与程序设计 - 06 基本算法和数据结构 之三 哈希表与哈希链表
- 多核计算与程序设计 - 05 基本算法和数据结构 之二 多线程链表
- 多核计算与程序设计 - 07 基本算法和数据结构 之四 树
- 多核计算与程序设计 - 09 基本算法和数据结构 之四 AVL搜索树
- 多核计算与程序设计 - 08 基本算法和数据结构 之四 二叉树
- 考研数据结构与算法之单链表多项式的计算(一)
- 考研数据结构与算法之单链表多项式的计算(二)
- 考研数据结构与算法之单链表多项式的计算(三)
- 数据结构与算法学习笔记之--数据结构
- 分享一百多套开发视频教程的下载地址
- Spring Uploading Files 官方示例项目解析
- PHP select筛选提交form表单请求
- 《大话数据结构》第六章 树
- RBAC权限管理
- 数据结构与算法之图计算
- 将sqoop2的默认元数据库derby 迁移到mysql
- 【雪野实训记录】Oracle聊天室-L1阶段项目案例
- java打jar架包 笨笨的我 弄了好久
- 使用appium+python对android进行自动化测试
- 2017/8/10开通博客,测试一下文章格式
- 解决谷歌chrome浏览器新版 58以上不支持浏览器编码的解决办法
- L
- opencv批量转换图片格式