《算法艺术与信息学竞赛》教学幻灯片.ppt

《算法艺术与信息学竞赛》教学幻灯片.ppt

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《算法艺术与信息学竞赛》教学幻灯片

《算法艺术与信息学竞赛》 教学幻灯片 算法图论 学习指导 声明 本系列教学幻灯片属于刘汝佳、黄亮著《算法艺术与信息学竞赛》配套幻灯片 本幻灯片可从本书blog上免费下载,即使您并未购买本书. 若作为教学使用,欢迎和作者联系以取得技术支持,也欢迎提供有不同针对性的修改版本,方便更多人使用 有任何意见,欢迎在blog上评论 Blog地址: 内容介绍 一、基本概念 二、图搜索 (重点) 三、DAG 四、连通性问题 (重点, 中难) 五、道路和回路 六、最短路 (重点, 中难) 七、最小生成树 (重点) 八、最大流问题 (重点, 偏难) 九、最小费用流 (重点, 偏难) 十、匹配 (重点, 偏难) 十一、图论难解问题 (偏难) 一、基本概念 图的基本概念(1) 图、简单图、图形表示 结点、弧、邻接、关联、度数 子图、导出子图 平面图、欧几里得图、三角形不等式 同构 路径、圈、不相交路、边不相交路 连通、连通分量 ★树和森林 完全图和补图、团 ★稀疏图和稠密图 图的基本概念(2) ★二分图(二部图) △相交图、区间图 有向图、DAG 带权图、网络 △图的ADT, 图IO的ADT ※邻接矩阵、邻接表和前向星表示 图例 △: 了解即可 ★: 需要深入理解 ※: 需要非常熟悉, 能写出程序 二、图搜索 图搜索 宽度优先遍历: 全部内容应熟练掌握. 深度优先遍历 基本的DFS-VISIT: 颜色和时间戳 嵌套区间定理: 推导+直观理解 (重点) 白色路径定理: 直观理解 (可选, 较难) 边分类规则: 直观理解 边分类算法: 程序实现和复杂度分析 (重点) 无向图只有T边和B边: 证明和分类算法 使用pre和post数组的DFS实现(重点) 三、DAG的算法 DAG的算法 DAG的充要条件: 无B边 (证明和直观理解) 拓扑排序 (熟练掌握) 基于DFS的算法 基于队列的算法 关键路径 PT图 PERT图 本讲内容比较简单, 建议全部理解 四、连通性问题 连通性问题 提醒: 本讲比较难, 但算法非常巧妙 SCC划分 G和GT的SCC相同: 证明和直观理解 SCC构成DAG: 证明和直观理解 Kosaraju算法: 按f递减顺序DFS转置图(重点) Tarjan/Gabow: 用栈保留结点, 延迟输出(难) Tarjan算法: 用LOW测试输出条件 Gabow算法: 用栈保留当前路径 连通性问题 割顶和桥的判定(重点) 无向图的LOW函数 割顶条件和割顶判定算法 桥条件和桥判定算法 BCC划分 五、道路和回路 道路和回路 欧拉回路和道路 充要条件 套圈算法及其简洁实现 中国邮路问题 主算法: 倍边+欧拉回路 权值: SSSP预处理 配对: 二分图最佳匹配预处理 六、最短路 最短路 SSSP问题 一般SSSP算法, 包括正确性证明 (重难点) dijkstra算法的堆实现 (重点) Bellman-ford算法和差分约束系统 (重点) Gabow的变尺度算法 (了解即可) APSP问题 矩阵乘法算法 floyd-warshall算法, 包括路径输出 (重点) Johnson算法, 包括正确性证明 (重点) 七、最小生成树 最小生成树 一般MST算法: 正确性证明 经典MST算法 Boruvka算法 Prim算法 Kruskal算法 其他问题 (了解) MST唯一性判定 瓶颈生成树 八、最大流问题 最大流问题 基本概念 流网络定义、流的三个性质 结点集的流记号、运算和凸性 相反方向的流取消操作、循环流、流分解定理 Ford-Fulkerson方法 残量网络、增广路、切割与流的关系 最大流的两个等价条件和证明 基本的Ford-Fulkerson方法和复杂度分析 Edmond-Karp算法 (重点) 关于d值的单调性引理、关键弧引理及其证明 (难点) Edmond-Karp算法的时间复杂度及其证明 最大流问题 预流推进算法 预流的定义, push和relabel过程 高度函数中st的值和性质: 起点不能太高 (重点) push、relabel和初始化的算法步骤 正确性证明 引理1: 两个操作至少一个能执行 引理2、3: h函数维持性质且每次relabel至少增加1 引理4: 残量网络中s到t始终不存在通路 时间复杂度分析(难) discharge操作和relabel-to-front算法 (难) 最高标号预流推进算法 最大流问题 应用举例 多源多汇问题 顶点容量 有环转无环 无向变有向 可行流 二分图最大匹配 九、最小费用流问题 最小费用流问题 最小费用流问题 分布网络、残量网络 负圈定理及其证明 消圈算法 基本的消圈算法 最小费用路算法 复杂度分析 最小费用流问题 网络单纯形法 可行树 可行树构造法 有效顶点势及其计算 合格弧定理 可行树的维护

文档评论(0)

tangtianbao1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档