顶部
收藏

算法设计与问题求解


作者:
乔亚男
定价:
33.00元
ISBN:
978-7-04-050327-2
版面字数:
400.000千字
开本:
16开
全书页数:
暂无
装帧形式:
平装
重点项目:
暂无
出版时间:
2018-09-03
读者对象:
高等教育
一级分类:
计算机/教育技术类
二级分类:
计算机基础课程
三级分类:
程序设计技术

本书面向理工类非计算机专业,和传统程序设计教学内容相比,本书更注重提高算法设计和问题求解能力,不偏重具体的语言语法,使相关专业学生拥有更为坚实的程序设计技能和算法基础,为培养素质好、专业技术强、信息化水平高的高级工程技术人才做准备。

本书不是典型的程序设计教材,也不是纯粹的数据结构和算法教材,主要目的是模拟学生在未来的专业科学研究中实际遇到问题时可能要面对的各种情况。所以,在设计实验和考察方法时,不苛求学生必须从零开始编写一个完整的程序,在实际工作中这样既不实际又毫无必要;而是可以从一个局部程序段,一个第三方程序框架开始,逐步加入自己的代码,步步为营,最终解决自己的问题。

本书可作为高等学校理工类非计算机专业算法设计课程教材,还可作为程序设计及算法设计爱好者的自学用书。

本书配有在线开放课程(MOOC)及算法库资源,便于师生的教与学。

  • 前辅文
  • 第1章 绪论
    • 1.1 算法的概念
      • 1.1.1 从计算机的优势和劣势谈起
      • 1.1.2 问题和算法
      • 1.1.3 什么是算法
    • 1.2 算法设计的要求
    • 1.3 算法效率的度量
      • 1.3.1 时间复杂度
      • 1.3.2 空间复杂度
    • 1.4 本书的总体结构
    • 1.5 相关语言和函数库简介
      • 1.5.1 从C到C++
      • 1.5.2 C++语言的功能改进
      • 1.5.3 命名空间
      • 1.5.4 C++的输入输出
      • 1.5.5 函数重载和函数模板
      • 1.5.6 面向对象初步
      • 1.5.7 string类
    • 习题
  • 第2章 若干数学问题的算法
    • 2.1 数论相关问题
    • 2.2 多项式四则运算
      • 2.2.1 一元多项式乘法
      • 2.2.2 一元多项式除法
    • 2.3 多项式插值问题
      • 2.3.1 拉格朗日插值法
      • 2.3.2 牛顿插值法
    • 2.4 非线性方程求解
      • 2.4.1 二分法
      • 2.4.2 牛顿迭代法
    • 2.5 线性方程组求解
      • 2.5.1 雅克比迭代法
      • 2.5.2 高斯消去法
    • 2.6 一元线性回归
    • 习题
  • 第3章 线性结构的妙用
    • 3.1 数据结构基本概念
    • 3.2 线性表概念及应用
      • 3.2.1 线性表基本概念
      • 3.2.2 顺序表概念及实现
      • 3.2.3 顺序表应用:学生名册管理
      • 3.2.4 链表的概念及实现
      • 3.2.5 单链表应用:通讯录管理
    • 3.3 堆栈和队列的应用
      • 3.3.1 堆栈的概念及实现
      • 3.3.2 堆栈应用:表达式求值
      • 3.3.3 队列的概念及实现
      • 3.3.4 队列应用:整数排序
      • 3.3.5 优先队列的概念及实现
    • 习题
  • 第4章 哈夫曼编码和图的最短路径
    • 4.1 树和二叉树
      • 4.1.1 树
      • 4.1.2 二叉树
    • 4.2 二叉树的实现与分析
    • 4.3 二叉树的遍历
      • 4.3.1 二叉树的遍历方式
      • 4.3.2 遍历算法的实现
    • 4.4 二叉树的示例
    • 4.5 哈夫曼树
      • 4.5.1 哈夫曼树和哈夫曼编码
      • 4.5.2 构造哈夫曼编码
      • 4.5.3 哈夫曼编码实现
    • 4.6 图和邻接表
      • 4.6.1 图的存储
      • 4.6.2 图的搜索
    • 4.7 图的最短路径
    • 习题
  • 第5章 马踏棋盘与道路规划
    • 5.1 贪心算法
    • 5.2 活动安排问题
    • 5.3 马踏棋盘问题
    • 5.4 道路规划和最小生成树问题
      • 5.4.1 Prim算法
      • 5.4.2 Kruskal算法
    • 习题
  • 第6章 动态规划
    • 6.1 动态规划基本概念
      • 6.1.1 挖金矿问题
      • 6.1.2 动态规划算法的基本思想
      • 6.1.3 适用情况
      • 6.1.4 求解基本步骤
    • 6.2 0-1背包问题
      • 6.2.1 最优性原理
      • 6.2.2 递推关系
      • 6.2.3 构造最优解
      • 6.2.4 算法实现
    • 6.3 最长公共子序列问题
      • 6.3.1 最长公共子序列的结构
      • 6.3.2 子问题的递归结构
      • 6.3.3 计算最优值
      • 6.3.4 构造最长公共子序列
      • 6.3.5 算法实现
    • 6.4* 最大流问题
      • 6.4.1 流网络
      • 6.4.2 Ford-Fulkerson方法
      • 6.4.3 Ford-Fulkerson方法伪代码
      • 6.4.4 最小费用最大流
      • 6.4.5 动态规划与最大流问题
    • 习题
  • 第7章 遗传算法
    • 7.1 遗传算法的概念
    • 7.2 遗传算法的设计
    • 7.3 函数最值问题求解
    • 7.4 函数最值问题求解程序实现
    • 7.5* 旅行商问题
    • 习题
  • 第8章* 人工神经网络
    • 8.1 人工神经网络的概念
    • 8.2 感知器
    • 8.3 感知器算法
    • 8.4 BP算法
    • 8.5 BP算法中正向传播过程及代价函数的编程实现
    • 8.6 BP算法示例
    • 习题
  • 参考文献

相关图书