计算机算法与程序设计

计算机算法与程序设计
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2009-10
版次: 1
ISBN: 9787302202677
定价: 27.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 280页
字数: 441千字
正文语种: 简体中文
5人买过
  •   将本科“计算机算法与程序设计”课程与大学生程序设计竞赛有机地结合是新时期教学改革、培养实用型计算机优秀人才的创新。《计算机算法与程序设计》既系统深入地介绍算法设计的理论知识,又详尽地将其应用于实际编程,做到理论与实践的统一。
      书中首先从理论的角度介绍了算法基础,数据抽象与数据结构,初等数论,组合数学初步;讲述了递归与分治策略,动态规划,贪心算法,搜索技术,图论算法;进一步研究了计算几何,排序算法;最后从实践的角度给出了程序设计典型实例及详细解析。   朱青,博士,中国人民大学信息学院副教授,高级CCF会员:曾于2004年3月-9月在美国加州大学圣迭戈分校UCSD作访问学者。在2007年1月-3月作为访问学者到香港中文大学合作研究。2006年获教育部宝钢优秀教师奖,2005年获中国人民大学优秀教师奖,2005年国家精品课程奖、北京市精品课程奖、2008年中国人民大学教学改革奖等奖励。中国人民大学ACM-ICPC(ACM国际大学生程序竞赛)代表队总教练,曾获亚洲赛区金牌,带队进入世界总决赛。主要研究方向:网格与并行计算,分布式系统可信与安全技术、高性能数据库与信息检索、WebService计算。 第1章绪论
    1.1算法研究的意义
    1.2算法与程序
    1.3算法的描述工具
    1.4算法的复杂性分析
    1.4.1时间复杂度
    1.4.2空间复杂度
    1.5常用数学分析公式

    第2章数据抽象与数据结构
    2.1数据抽象概念
    2.1.1数据结构的基本概念和术语
    2.1.2数据抽象
    2.2基本数据结构
    2.2.1线性表与向量
    2.2.2链表
    2.2.3栈和队列
    2.2.4二叉树
    2.2.5图
    2.3关键数据结构拓广
    2.3.1哈希表
    2.3.2并查集(等价类)
    2.3.3线段树
    2.3.4二叉堆

    第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积性函数
    3.4素数和整除
    3.4.1筛法求素数
    3.4.2整数Ⅳ的因子函数
    3.5高精度计算

    第4章组合数学初步
    4.1加法原理与乘法原理
    4.2鸽笼原理和Ramsey数
    4.3递推关系和生成函数
    4.3.1Fibonacci数
    4.3.2Catalan数
    4.3.3第二类Stirlin9数
    4.4排列组合
    4.4.1字典序排列
    4.4.2组合算法
    4.4.3二项式系数
    4.5容斥原理
    4.5.1容斥原理的概念
    4.5.2错排问题
    4.6Polya定理及其应用

    第5章递归与分治策略
    5.1递归概念
    5.1.1递归与递归调用
    5.1.2递归应用
    5.2分治法概述
    5.2.1分治法基本思想
    5.2.2分治算法设计和特点
    5.3分治法的基本应用
    5.3.1最大最小值
    5.3.2Strassen矩阵乘法
    5.4分治法解骑士周游
    5.5大整数乘法
    5.5.1常规大整数乘法
    5.5.2分治法解大整数乘法
    5.6棋盘覆盖问题

    第6章贪心算法
    6.1贪心算法概述
    6.1.1贪心举例
    6.1.2贪心算法的理论基础
    6.1.3贪心算法与动态规划算法的区别
    6.2背包问题
    6.3机器任务调度算法
    6.3.1多机调度问题
    6.3.2活动安排问题
    6.4最小生成树
    6.4.1普里姆(Prim)算法
    6.4.2克鲁斯卡尔(Kruskal)算法
    6.5哈夫曼(Huffman)树及其应用
    6.5.1Huffman树
    6.5.2哈夫曼编码
    6.5.3Huffman算法的正确性

    第7章动态规划
    7.1动态规划算法思想
    7.1.1动态规划最优决策原理
    7.1.2动态规划求解步骤
    7.1.3动态规划的数学抽象
    7.2矩阵连乘问题
    7.3最长子序列探索
    7.3.1最长递增子序列
    7.3.2最长公共子序列
    7.4多段图的最短路径
    7.5资源分配问题
    7.6树状动态规划

    第8章搜索技术
    8.1盲目搜索算法
    8.1.1对分搜索
    8.1.2DFS与BFS搜索算法
    8.1.3盲目搜索算法应用
    8.2回溯算法
    8.3启发式搜索
    8.3.1启发式搜索策略
    8.3.2A*算法
    8.4博弈问题
    8.4.1博弈树
    8.4.2极小极大搜索法
    8.5α-β剪枝技术

    第9章图论算法
    9.1基本概念和定理
    9.1.1可行遍性问题
    9.1.2平面图
    9.1.3独立集、覆盖与支配集
    9.2最短路径
    9.2.1Diikstra算法
    9.2.2Floyd算法求一对点最短路径
    9.3道路和回路
    9.3.1欧拉道路和欧拉回路
    9.3.2哈密尔顿图和货郎担问题
    9.4网络流算法
    9.4.1基本概念
    9.4.2最大流问题
    9.4.3最小费用流
    9.5二分图相关问题
    9.5.1二分图的最大匹配
    9.5.2二分图的最佳匹配

    第10章计算几何
    10.1计算几何基本问题
    10.1.1矢量与线段
    10.1.2几何计算公式
    10.2点与线段的关系
    10.2.1点与线段的距离
    10.2.2线段与直线的交点
    10.3多边形
    10.3.1多边形基本概念
    10.3.2点与多边形的关系
    10.4凸包问题
    10.4.1判断凸包
    10.4.2寻找凸包
    10.5欧拉定理及其应用.

    第11章排序
    11.1排序基础
    11.2比较排序法
    11.2.1插入排序
    11.2.2冒泡排序
    11.2.3简单选择排序
    11.3基于分治策略的排序算法
    11.3.1快速排序
    11.3.2归并排序
    11.4堆排序
    11.4.1树状选择排序
    11.4.2堆排序
    11.5基数排序
    11.6排序小结

    第12章算法与程序经典实例
    12.1计算机算法设计实例
    12.2国际竞赛程序实例分析
  • 内容简介:
      将本科“计算机算法与程序设计”课程与大学生程序设计竞赛有机地结合是新时期教学改革、培养实用型计算机优秀人才的创新。《计算机算法与程序设计》既系统深入地介绍算法设计的理论知识,又详尽地将其应用于实际编程,做到理论与实践的统一。
      书中首先从理论的角度介绍了算法基础,数据抽象与数据结构,初等数论,组合数学初步;讲述了递归与分治策略,动态规划,贪心算法,搜索技术,图论算法;进一步研究了计算几何,排序算法;最后从实践的角度给出了程序设计典型实例及详细解析。
  • 作者简介:
      朱青,博士,中国人民大学信息学院副教授,高级CCF会员:曾于2004年3月-9月在美国加州大学圣迭戈分校UCSD作访问学者。在2007年1月-3月作为访问学者到香港中文大学合作研究。2006年获教育部宝钢优秀教师奖,2005年获中国人民大学优秀教师奖,2005年国家精品课程奖、北京市精品课程奖、2008年中国人民大学教学改革奖等奖励。中国人民大学ACM-ICPC(ACM国际大学生程序竞赛)代表队总教练,曾获亚洲赛区金牌,带队进入世界总决赛。主要研究方向:网格与并行计算,分布式系统可信与安全技术、高性能数据库与信息检索、WebService计算。
  • 目录:
    第1章绪论
    1.1算法研究的意义
    1.2算法与程序
    1.3算法的描述工具
    1.4算法的复杂性分析
    1.4.1时间复杂度
    1.4.2空间复杂度
    1.5常用数学分析公式

    第2章数据抽象与数据结构
    2.1数据抽象概念
    2.1.1数据结构的基本概念和术语
    2.1.2数据抽象
    2.2基本数据结构
    2.2.1线性表与向量
    2.2.2链表
    2.2.3栈和队列
    2.2.4二叉树
    2.2.5图
    2.3关键数据结构拓广
    2.3.1哈希表
    2.3.2并查集(等价类)
    2.3.3线段树
    2.3.4二叉堆

    第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积性函数
    3.4素数和整除
    3.4.1筛法求素数
    3.4.2整数Ⅳ的因子函数
    3.5高精度计算

    第4章组合数学初步
    4.1加法原理与乘法原理
    4.2鸽笼原理和Ramsey数
    4.3递推关系和生成函数
    4.3.1Fibonacci数
    4.3.2Catalan数
    4.3.3第二类Stirlin9数
    4.4排列组合
    4.4.1字典序排列
    4.4.2组合算法
    4.4.3二项式系数
    4.5容斥原理
    4.5.1容斥原理的概念
    4.5.2错排问题
    4.6Polya定理及其应用

    第5章递归与分治策略
    5.1递归概念
    5.1.1递归与递归调用
    5.1.2递归应用
    5.2分治法概述
    5.2.1分治法基本思想
    5.2.2分治算法设计和特点
    5.3分治法的基本应用
    5.3.1最大最小值
    5.3.2Strassen矩阵乘法
    5.4分治法解骑士周游
    5.5大整数乘法
    5.5.1常规大整数乘法
    5.5.2分治法解大整数乘法
    5.6棋盘覆盖问题

    第6章贪心算法
    6.1贪心算法概述
    6.1.1贪心举例
    6.1.2贪心算法的理论基础
    6.1.3贪心算法与动态规划算法的区别
    6.2背包问题
    6.3机器任务调度算法
    6.3.1多机调度问题
    6.3.2活动安排问题
    6.4最小生成树
    6.4.1普里姆(Prim)算法
    6.4.2克鲁斯卡尔(Kruskal)算法
    6.5哈夫曼(Huffman)树及其应用
    6.5.1Huffman树
    6.5.2哈夫曼编码
    6.5.3Huffman算法的正确性

    第7章动态规划
    7.1动态规划算法思想
    7.1.1动态规划最优决策原理
    7.1.2动态规划求解步骤
    7.1.3动态规划的数学抽象
    7.2矩阵连乘问题
    7.3最长子序列探索
    7.3.1最长递增子序列
    7.3.2最长公共子序列
    7.4多段图的最短路径
    7.5资源分配问题
    7.6树状动态规划

    第8章搜索技术
    8.1盲目搜索算法
    8.1.1对分搜索
    8.1.2DFS与BFS搜索算法
    8.1.3盲目搜索算法应用
    8.2回溯算法
    8.3启发式搜索
    8.3.1启发式搜索策略
    8.3.2A*算法
    8.4博弈问题
    8.4.1博弈树
    8.4.2极小极大搜索法
    8.5α-β剪枝技术

    第9章图论算法
    9.1基本概念和定理
    9.1.1可行遍性问题
    9.1.2平面图
    9.1.3独立集、覆盖与支配集
    9.2最短路径
    9.2.1Diikstra算法
    9.2.2Floyd算法求一对点最短路径
    9.3道路和回路
    9.3.1欧拉道路和欧拉回路
    9.3.2哈密尔顿图和货郎担问题
    9.4网络流算法
    9.4.1基本概念
    9.4.2最大流问题
    9.4.3最小费用流
    9.5二分图相关问题
    9.5.1二分图的最大匹配
    9.5.2二分图的最佳匹配

    第10章计算几何
    10.1计算几何基本问题
    10.1.1矢量与线段
    10.1.2几何计算公式
    10.2点与线段的关系
    10.2.1点与线段的距离
    10.2.2线段与直线的交点
    10.3多边形
    10.3.1多边形基本概念
    10.3.2点与多边形的关系
    10.4凸包问题
    10.4.1判断凸包
    10.4.2寻找凸包
    10.5欧拉定理及其应用.

    第11章排序
    11.1排序基础
    11.2比较排序法
    11.2.1插入排序
    11.2.2冒泡排序
    11.2.3简单选择排序
    11.3基于分治策略的排序算法
    11.3.1快速排序
    11.3.2归并排序
    11.4堆排序
    11.4.1树状选择排序
    11.4.2堆排序
    11.5基数排序
    11.6排序小结

    第12章算法与程序经典实例
    12.1计算机算法设计实例
    12.2国际竞赛程序实例分析
查看详情