互联网
类型
可以朗读
语音朗读
107千字
字数
No.17
科学技术
2025-04-01
发行日期
展开全部
主编推荐语
本书系统介绍程序设计中各种常用的基础算法及典型案例。
内容简介
本书包括排序算法、递归算法、数论基础、组合数学基础、贪心算法、分治算法、动态规划算法和回溯算法等内容。
全书以图文并茂的方式讲解各基础算法的分析过程,侧重基础算法的深入理解与实践,配有大量图表辅助算法的分析过程,适用于有一定程序设计基础、尚未学习数据结构且对算法分析与设计感兴趣的算法初学者。
本书各章均配有典型案例和大量图表,既便于教师课堂讲授,也适合读者自学,可作为高等院校“程序设计基础”课程的延伸和“算法分析与设计”课程的入门教材,也可供程序设计竞赛初学者参考。
目录
- 版权信息
- 内容简介
- 前言
- 第1章 环境搭建
- 1.1 Microsoft Visual C++ 2010学习版的使用
- 1.1.1 Visual C++ 2010学习版的安装
- 1.1.2 创建、编辑、编译和运行项目
- 1.1.3 为什么缺少很多选项
- 1.1.4 为什么一闪而过
- 1.1.5 其他配置选项
- 1.2 Code∷Blocks的使用
- 1.2.1 安装Code∷Blocks
- 1.2.2 创建项目和编辑源代码
- 1.2.3 调试
- 第2章 排序算法
- 2.1 冒泡排序
- 2.1.1 冒泡排序的基本思想
- 2.1.2 冒泡排序过程分析
- 2.1.3 冒泡排序代码分析
- 2.2 选择排序
- 2.2.1 选择排序的基本思想
- 2.2.2 选择排序过程分析
- 2.2.3 选择排序代码分析
- 2.3 插入排序
- 2.3.1 插入排序的基本思想
- 2.3.2 插入排序过程分析
- 2.3.3 插入排序代码分析
- 2.4 计数排序
- 2.4.1 计数排序的基本思想
- 2.4.2 计数排序过程分析
- 2.4.3 计数排序代码分析
- 2.4.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.3.3 因数分解问题代码分析
- 3.4 分形图形
- 3.4.1 盒分形思路分析
- 3.4.2 盒分形代码分析
- 算法设计练习
- 第4章 数论基础
- 4.1 余数和最大公约数
- 4.1.1 余数
- 4.1.2 最大公约数
- 4.1.3 欧几里得算法
- 4.2 素数问题
- 4.2.1 素数的概念
- 4.2.2 素数相关的定理
- 4.2.3 筛选法求素数
- 4.3 同余问题
- 4.3.1 同余及其性质
- 4.3.2 线性同余
- 算法设计练习
- 第5章 组合数学基础
- 5.1 排列生成算法
- 5.1.1 序数生成法
- 5.1.2 字典序生成法
- 5.1.3 “火星人”问题
- 5.2 组合生成算法
- 5.2.1 基于字典序的组合生成算法
- 5.2.2 基于格雷码的组合生成算法
- 算法设计练习
- 第6章 贪心算法
- 6.1 结构体
- 6.2 贪心算法概述
- 6.3 活动时间安排
- 6.3.1 活动安排过程分析
- 6.3.2 活动安排代码分析
- 6.4 最优装载问题
- 6.4.1 最优装载问题过程分析
- 6.4.2 最优装载问题代码分析
- 6.5 可切割背包问题
- 6.5.1 可切割背包问题分析
- 6.5.2 可切割背包代码分析
- 6.6 删数问题
- 6.7 操作系统内存分配
- 6.7.1 First Fit内存分配
- 6.7.2 Best Fit内存分配
- 6.7.3 Worst Fit内存分配
- 算法设计练习
- 第7章 分治算法
- 7.1 快速排序
- 7.1.1 快速排序过程分析
- 7.1.2 快速排序代码分析
- 7.2 归并排序
- 7.2.1 归并排序过程分析
- 7.2.2 归并排序代码分析
- 7.3 二分查找
- 7.3.1 二分查找过程分析
- 7.3.2 二分查找代码分析
- 7.4 循环赛
- 7.4.1 2k循环赛日程表
- 7.4.2 奇偶循环赛日程表
- 7.5 大整数乘法
- 7.5.1 大整数乘法过程分析
- 7.5.2 大整数乘法代码分析
- 算法设计练习
- 第8章 动态规划算法
- 8.1 数字三角形
- 8.1.1 使用朴素递归求解数字三角形问题
- 8.1.2 使用动态规划算法求解数字三角形问题
- 8.2 最长公共子序列
- 8.2.1 最长公共子序列问题过程分析
- 8.2.2 最长公共子序列问题代码分析
- 8.3 编辑距离
- 8.3.1 编辑距离的正向生成
- 8.3.2 操作序列的逆向回溯
- 8.4 0-1背包问题(一)
- 8.4.1 0-1背包问题过程分析
- 8.4.2 0-1背包问题代码分析
- 8.5 石子合并
- 8.5.1 石子合并问题过程分析
- 8.5.2 石子合并问题代码分析
- 算法设计练习
- 第9章 回溯算法
- 9.1 八皇后问题
- 9.1.1 八皇后问题过程分析
- 9.1.2 八皇后问题代码分析
- 9.2 子集和问题
- 9.2.1 子集和问题过程分析
- 9.2.2 子集和问题代码分析
- 9.3 0-1背包问题(二)
- 9.3.1 0-1背包问题过程分析
- 9.3.2 0-1背包问题代码分析
- 9.4 装载问题
- 9.4.1 装载问题过程分析
- 9.4.2 装载问题代码分析
- 9.5 任务分配问题
- 9.5.1 任务分配问题过程分析
- 9.5.2 任务分配问题代码分析
- 算法设计练习
- 参考文献
展开全部
出版方
清华大学出版社
清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。
