程序设计解题策略

程序设计解题策略
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: ,
2015-03
版次: 1
ISBN: 9787111488316
定价: 79.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 504页
正文语种: 简体中文
44人买过
  •   《程序设计解题策略》在数据结构和算法设计的基础上,从树型数据关系、图型数据关系、数据关系的构造策略、数据统计的二分策略、动态规划的优化策略、计算几何的应对策略及博弈问题的应对策略七个方面,具体介绍了49种解题策略和重要算法。全书结合国内外多年程序设计竞赛的经典例题,精选出100道实验范例,而且每道实验例题均注明了试题来源和在线测试网址,帮助读者更加深入地了解和掌握编程解题策略。   吴永辉,博士,复旦大学计算机科学与工程系副教授,ACM—ICPC中国赛区指导委员会(ACM—ICPCCouncilChirla)成员。复旦大学ACM程序设计竞赛队教练。自2001年起连续带队进入ACM—ICPC世界总决赛。并取得过世界第6名的佳绩。主要研究方向为数据库,在《计算机研究与发展》、《软件学报》以及重大学术会议上发表多篇论文,参与译著《数据通信与网络》和《数据通信、计算机网络与开放系统》。
      王建德,国务院特殊津贴专家、上海师范大学特聘教授、控江中学特级教师。他辅导学生在国际奥林匹克信息学竞赛(IOI)中获8金、2银、2铜,先后出版了《新编实用算法分析与程序设计》、《程序设计中常用的计算思维方式》等23本广受好评的图书,这些图书长期以来是国内各类程序设计竞赛的必备教程。 前言
    第1章利用树型数据关系的解题策略
    1.1利用划分树求解整数区间内第k大的值
    1.1.1离线构建整个查询区间的划分树
    1.1.2在划分树上查询子区间[l,r]中第k大的数
    1.1.3应用划分树解题
    1.2利用最小生成树及其扩展形式解题
    1.2.1最小生成树的思想和应用
    1.2.2最优比率生成树的思想和应用
    1.2.3最小k度限制生成树的思想和应用
    1.2.4次小生成树的思想和应用
    1.3利用线段树解决区间计算问题
    1.3.1线段树的基本概念
    1.3.2线段树的基本操作和拓展
    1.3.3应用线段树解题
    1.4利用改进型的二叉查找树优化动态集合的操作
    1.4.1改进型1:伸展树
    1.4.2改进型2:红黑树
    1.4.3应用改进型的二叉查找树解题
    1.5利用动态树维护森林的连通性
    1.5.1动态树的问题背景
    1.5.2Link-CutTree的定义
    1.5.3Link-CutTree的基本操作和时间复杂度分析
    1.5.4应用动态树解题
    1.6利用左偏树实现优先队列的合并
    1.6.1左偏树的定义和性质
    1.6.2左偏树的操作
    1.6.3应用左偏树解题
    1.7利用跳跃表替代树结构
    1.7.1跳跃表的基本概念
    1.7.2跳跃表的基本操作
    1.7.3跳跃表的效率分析
    1.7.4应用跳跃表解题
    本章小结

    第2章利用图型数据关系的解题策略
    2.1利用网络流算法解题
    2.1.1网络、流与割的概念
    2.1.2利用Dinic算法计算最大流
    2.1.3求容量有上下界的最大流问题
    2.1.4计算最小费用最大流
    2.2利用图的匹配算法解题
    2.2.1匹配的基本概念
    2.2.2计算二分图的最大匹配
    2.2.3计算二分图最佳匹配的KM算法
    2.2.4利用一一对应的匹配性质转化问题的实验范例
    2.3利用分层图思想解题
    2.3.1利用分层图思想化未知为已知
    2.3.2利用分层图思想优化算法的实验范例
    2.4利用平面图性质解题
    2.4.1平面图的基本概念
    2.4.2平面图的实验范例
    2.4.3偏序集的基本概念
    2.4.4偏序集的实验范例
    2.5在充分挖掘和利用图论模型性质的基础上优化算法
    2.5.1优化图论模型的三种方法
    2.5.2三种优化方法的实验范例
    本章小结

    第3章数据关系上的构造策略
    3.1选择数据逻辑结构的基本原则
    3.1.1充分利用可直接使用的信息
    3.1.2不记录无用的信息
    3.2选择数据存储结构的基本方法
    3.2.1合理采用顺序存储结构
    3.2.2必要时采用链式存储结构
    3.3科学组合多种数据结构
    3.3.1数据结构的并联
    3.3.2数据结构的嵌套
    本章小结

    第4章数据统计上的二分策略
    4.1利用线段树统计数据
    4.1.1利用线段树解决一维数据序列的统计问题
    4.1.2利用线段树解决二维数据区的统计问题
    4.2基于数组统计方法
    4.2.1利用树状数组解决动态统计子序列和问题
    4.2.2采用倍增算法求解RMQ问题
    4.3在静态二叉排序树上统计数据
    4.3.1建立静态二叉排序树
    4.3.2在静态二叉排序树上进行统计
    4.3.3静态二叉排序树的应用
    4.4在虚二叉树上统计数据
    本章小结

    第5章动态规划上的优化策略
    5.1减少状态总数的基本策略
    5.1.1改进状态表示
    5.1.2选择适当的DP方向
    5.2减少每个状态决策数的基本策略
    5.2.1利用最优决策的单调性
    5.2.2剪枝优化
    5.2.3合理组织状态
    5.2.4细化状态转移
    5.3减少状态转移时间的基本策略
    5.3.1减少决策时间
    5.3.2减少计算递推式的时间
    5.4应对连通性问题的DP策略——基于状态压缩的插头DP
    5.4.1插头DP的一般模式
    5.4.2用于简单路径问题上的插头DP
    5.4.3用于棋盘染色问题上的插头DP
    5.4.4插头DP中的剪枝优化
    本章小结

    第6章计算几何上的应对策略
    6.1用于求解距离问题的模拟退火算法
    6.1.1模拟退火算法的由来
    6.1.2模拟退火算法的实现
    6.1.3模拟退火算法的应用范例
    6.2用于求解凸性函数极值问题的三分法
    6.2.1三分法的基本思想
    6.2.2三分法的应用范例
    6.3使用剖分优化应对复合属性的几何图形
    6.3.1圆重合其他几何图形时的剖分策略
    6.3.2使用三角剖分思想计算几何图形面积
    6.3.3使用梯形剖分计算多边形面积
    6.3.4利用矩形切割思想进行几何计算和数据统计
    6.4利用极大化思想解决最大子矩形问题
    6.4.1与极大化思想有关的概念
    6.4.2寻找最大子矩形的两种常用算法
    6.4.3最大子矩形问题的推广
    6.4.4利用极大化思想解决最大子矩形问题的范例
    6.5在求解综合性、扩展性几何问题中合理组合基本几何运算
    6.5.1在复杂的综合性试题中合理组合基本几何运算
    6.5.2在空间几何计算中合理组合基本几何运算
    本章小结

    第7章博弈类问题的应对策略
    7.1利用动态博弈思想判断输赢
    7.2基础性博弈中的对抗策略
    7.2.1巴什博弈
    7.2.2威佐夫博弈
    7.2.3尼姆博弈
    7.3基础性博弈扩展形式中的对抗策略
    7.3.1巴什博弈的扩展——k倍动态减法游戏
    7.3.2尼姆博弈的四种扩展形式
    7.4使用SG函数应对一类组合游戏
    7.4.1SG-组合游戏问题的特殊性质
    7.4.2翻硬币游戏
    7.4.3多图游戏
    7.5使用数学工具surrealnumber应对不平等的组合游戏
    7.5.1数学工具surrealnumber
    7.5.2surrealnumber在组合游戏上的应用
    本章小结
  • 内容简介:
      《程序设计解题策略》在数据结构和算法设计的基础上,从树型数据关系、图型数据关系、数据关系的构造策略、数据统计的二分策略、动态规划的优化策略、计算几何的应对策略及博弈问题的应对策略七个方面,具体介绍了49种解题策略和重要算法。全书结合国内外多年程序设计竞赛的经典例题,精选出100道实验范例,而且每道实验例题均注明了试题来源和在线测试网址,帮助读者更加深入地了解和掌握编程解题策略。
  • 作者简介:
      吴永辉,博士,复旦大学计算机科学与工程系副教授,ACM—ICPC中国赛区指导委员会(ACM—ICPCCouncilChirla)成员。复旦大学ACM程序设计竞赛队教练。自2001年起连续带队进入ACM—ICPC世界总决赛。并取得过世界第6名的佳绩。主要研究方向为数据库,在《计算机研究与发展》、《软件学报》以及重大学术会议上发表多篇论文,参与译著《数据通信与网络》和《数据通信、计算机网络与开放系统》。
      王建德,国务院特殊津贴专家、上海师范大学特聘教授、控江中学特级教师。他辅导学生在国际奥林匹克信息学竞赛(IOI)中获8金、2银、2铜,先后出版了《新编实用算法分析与程序设计》、《程序设计中常用的计算思维方式》等23本广受好评的图书,这些图书长期以来是国内各类程序设计竞赛的必备教程。
  • 目录:
    前言
    第1章利用树型数据关系的解题策略
    1.1利用划分树求解整数区间内第k大的值
    1.1.1离线构建整个查询区间的划分树
    1.1.2在划分树上查询子区间[l,r]中第k大的数
    1.1.3应用划分树解题
    1.2利用最小生成树及其扩展形式解题
    1.2.1最小生成树的思想和应用
    1.2.2最优比率生成树的思想和应用
    1.2.3最小k度限制生成树的思想和应用
    1.2.4次小生成树的思想和应用
    1.3利用线段树解决区间计算问题
    1.3.1线段树的基本概念
    1.3.2线段树的基本操作和拓展
    1.3.3应用线段树解题
    1.4利用改进型的二叉查找树优化动态集合的操作
    1.4.1改进型1:伸展树
    1.4.2改进型2:红黑树
    1.4.3应用改进型的二叉查找树解题
    1.5利用动态树维护森林的连通性
    1.5.1动态树的问题背景
    1.5.2Link-CutTree的定义
    1.5.3Link-CutTree的基本操作和时间复杂度分析
    1.5.4应用动态树解题
    1.6利用左偏树实现优先队列的合并
    1.6.1左偏树的定义和性质
    1.6.2左偏树的操作
    1.6.3应用左偏树解题
    1.7利用跳跃表替代树结构
    1.7.1跳跃表的基本概念
    1.7.2跳跃表的基本操作
    1.7.3跳跃表的效率分析
    1.7.4应用跳跃表解题
    本章小结

    第2章利用图型数据关系的解题策略
    2.1利用网络流算法解题
    2.1.1网络、流与割的概念
    2.1.2利用Dinic算法计算最大流
    2.1.3求容量有上下界的最大流问题
    2.1.4计算最小费用最大流
    2.2利用图的匹配算法解题
    2.2.1匹配的基本概念
    2.2.2计算二分图的最大匹配
    2.2.3计算二分图最佳匹配的KM算法
    2.2.4利用一一对应的匹配性质转化问题的实验范例
    2.3利用分层图思想解题
    2.3.1利用分层图思想化未知为已知
    2.3.2利用分层图思想优化算法的实验范例
    2.4利用平面图性质解题
    2.4.1平面图的基本概念
    2.4.2平面图的实验范例
    2.4.3偏序集的基本概念
    2.4.4偏序集的实验范例
    2.5在充分挖掘和利用图论模型性质的基础上优化算法
    2.5.1优化图论模型的三种方法
    2.5.2三种优化方法的实验范例
    本章小结

    第3章数据关系上的构造策略
    3.1选择数据逻辑结构的基本原则
    3.1.1充分利用可直接使用的信息
    3.1.2不记录无用的信息
    3.2选择数据存储结构的基本方法
    3.2.1合理采用顺序存储结构
    3.2.2必要时采用链式存储结构
    3.3科学组合多种数据结构
    3.3.1数据结构的并联
    3.3.2数据结构的嵌套
    本章小结

    第4章数据统计上的二分策略
    4.1利用线段树统计数据
    4.1.1利用线段树解决一维数据序列的统计问题
    4.1.2利用线段树解决二维数据区的统计问题
    4.2基于数组统计方法
    4.2.1利用树状数组解决动态统计子序列和问题
    4.2.2采用倍增算法求解RMQ问题
    4.3在静态二叉排序树上统计数据
    4.3.1建立静态二叉排序树
    4.3.2在静态二叉排序树上进行统计
    4.3.3静态二叉排序树的应用
    4.4在虚二叉树上统计数据
    本章小结

    第5章动态规划上的优化策略
    5.1减少状态总数的基本策略
    5.1.1改进状态表示
    5.1.2选择适当的DP方向
    5.2减少每个状态决策数的基本策略
    5.2.1利用最优决策的单调性
    5.2.2剪枝优化
    5.2.3合理组织状态
    5.2.4细化状态转移
    5.3减少状态转移时间的基本策略
    5.3.1减少决策时间
    5.3.2减少计算递推式的时间
    5.4应对连通性问题的DP策略——基于状态压缩的插头DP
    5.4.1插头DP的一般模式
    5.4.2用于简单路径问题上的插头DP
    5.4.3用于棋盘染色问题上的插头DP
    5.4.4插头DP中的剪枝优化
    本章小结

    第6章计算几何上的应对策略
    6.1用于求解距离问题的模拟退火算法
    6.1.1模拟退火算法的由来
    6.1.2模拟退火算法的实现
    6.1.3模拟退火算法的应用范例
    6.2用于求解凸性函数极值问题的三分法
    6.2.1三分法的基本思想
    6.2.2三分法的应用范例
    6.3使用剖分优化应对复合属性的几何图形
    6.3.1圆重合其他几何图形时的剖分策略
    6.3.2使用三角剖分思想计算几何图形面积
    6.3.3使用梯形剖分计算多边形面积
    6.3.4利用矩形切割思想进行几何计算和数据统计
    6.4利用极大化思想解决最大子矩形问题
    6.4.1与极大化思想有关的概念
    6.4.2寻找最大子矩形的两种常用算法
    6.4.3最大子矩形问题的推广
    6.4.4利用极大化思想解决最大子矩形问题的范例
    6.5在求解综合性、扩展性几何问题中合理组合基本几何运算
    6.5.1在复杂的综合性试题中合理组合基本几何运算
    6.5.2在空间几何计算中合理组合基本几何运算
    本章小结

    第7章博弈类问题的应对策略
    7.1利用动态博弈思想判断输赢
    7.2基础性博弈中的对抗策略
    7.2.1巴什博弈
    7.2.2威佐夫博弈
    7.2.3尼姆博弈
    7.3基础性博弈扩展形式中的对抗策略
    7.3.1巴什博弈的扩展——k倍动态减法游戏
    7.3.2尼姆博弈的四种扩展形式
    7.4使用SG函数应对一类组合游戏
    7.4.1SG-组合游戏问题的特殊性质
    7.4.2翻硬币游戏
    7.4.3多图游戏
    7.5使用数学工具surrealnumber应对不平等的组合游戏
    7.5.1数学工具surrealnumber
    7.5.2surrealnumber在组合游戏上的应用
    本章小结
查看详情
相关图书 / 更多
程序设计解题策略
程序员超强大脑
[荷兰]费莉安·赫尔曼斯(Felienne Hermans)
程序设计解题策略
程序员考前突破:考点精讲、真题精解、难点精练
詹宏锋 李锋 许纪贤 编著
程序设计解题策略
程序员的README
[美]克里斯·里科米尼(Chris Riccomini) (美) 德米特里·里
程序设计解题策略
程序员的制胜技
[土耳其]塞达特·卡帕诺格鲁(Sedat Kapanoglu)
程序设计解题策略
程序设计基础(C语言)(第3版)
刘明军 袁宁 张玲 蒋彦 赵亚欧 编著;潘玉奇 主编;蔺永政
程序设计解题策略
程序设计基础(Python语言)(微课视频版)
陈守森;刘衍琦;邵燕;张言上;任爱华
程序设计解题策略
程序设计算法基础
于瑞国 主编;赵满坤 副主编;喻梅;李雪威
程序设计解题策略
程序员的算法趣题2
[日]增井敏克
程序设计解题策略
程序性能优化理论与方法
韩林;高伟
程序设计解题策略
程序设计基础实验和学习指导(C语言)(微课版)
苏小红 张羽 袁永峰 李东
程序设计解题策略
程序设计基础(C语言)习题集与实验指导(第3版)
蒋彦 袁宁 张玲 赵亚欧 编著;潘玉奇 主编;蔺永政
程序设计解题策略
程序设计基础(C语言)教程
刘媛媛;雷莉霞;胡平