你可能听说过“算法”是计算机科学中最难啃的骨头,但请放心,这本书将用最简单的方式,把复杂的算法知识变成浅显易懂的内容。
本书介绍了计算机算法方面的基础知识与常用内容,包括:算法概述、简单算法、枚举、递归、排序、查找、贪心、分治、搜索、动态规划、高精度运算、图论算法,等等。
本书是一本算法入门教材,其宗旨是初学者友好,写作过程中以“易读、易懂、易用”为原则,避免复杂的数学描述或者晦涩的专业术语。
在具备了C++基础知识(甚至只有C语言基础知识)之后,就可以学习本书。本书可作为高等学校计算机专业本专科学生算法课程的教材,也可以作为中小学生在参加CSP、GESP等考试时的教材,还可以作为广大计算机工程技术人员的参考书。
王丰 潍坊学院计算机工程学院副教授。主讲课程:《计算机算法》《Visual C++编程技术》《.net应用程序开发》《asp.net Web开发》《微机原理与接口技术》《网络操作系统》等,年均教学工作量维持在400学时以上。
研究领域为:软件工程及CAD软件开发。主持潍坊市科技发展项目3项,山东省住建厅科技发展项目1项;拥有软件著作权5项。先后为潍坊市财政局、潍坊华泰电子公司、潍坊人民保险公司、山东矿机集团、等企事业单位开发过财务、仪表控制、保险、大型自动化设备控制等软件系统。另外,开发了多款商品化软件。
第 1 章 算法基础 <br>1.1 算法概述 <br>1.2 算法设计与描述 <br>1.3 算法评价 <br>1.4 编程语言与编程环境 <br>习 题 <br>第 2 章 简单算法 <br>2.1 数字分离与合成 <br>2.2 素数判断 <br>2.3 最大公约数 <br>2.4 巧用数组下标 <br>习 题 <br>第 3 章 枚举法 <br>3.1 枚举法概述 <br>3.2 枚举法实例 <br>习 题 <br>第 4 章 递归 <br>4.1 递归概述 <br>4.2 斐波那契数列 <br>4.3 其他典型题目 <br>习 题 <br>第 5 章 排序 <br>5.1 排序问题概述 <br>5.2 冒泡排序 <br>5.3 选择排序 <br>5.4 快速排序 <br>5.5 其他排序算法 <br>5.6 STL 中的排序函数 <br>习 题 <br>第 6 章 查找 <br> 6.1 查找概述 <br>6.2 顺序查找 <br>6.3 二分查找 <br>6.4 STL 中的查找函数 <br>习 题 <br>第 7 章 贪心算法 <br>7.1 贪心算法概述 <br>7.2 典型例题 <br>习 题 <br>第 8 章 分治 <br>8.1 分治算法概述 <br>8.2 二分答案 <br>8.3 典型分治例题 <br>习 题 <br>第 9 章 搜索 <br>9.1 搜索基础 <br>9.2 回溯法 <br>9.3 深搜与广搜 <br>习 题 128 <br>第 10 章 动态规划 <br>10.1 动态规划概述 <br>10.2 典型例题 <br>10.3 01 背包问题 <br>习题 <br>第 11 章 高精度运算 <br>11.1 高精度运算概述 <br>11.2 高精度加法 <br>11.3 高精度减法 <br>11.4 高精度乘法 <br>11.5 高精度除法 <br>习题 <br>第 12 章 图论算法 <br>12.1 图论入门 <br>12.2 图的遍历 <br>12.3 最短路径 <br>12.4 最小生成树 <br>12.5 拓扑排序 <br>习题 <br>参考文献