零基础学算法 第2版
副标题:无
作者: 戴艳
内容简介:
前言
“数据结构”是计算机及应用专业的一门核心课程,由于该课程理论性较强,很多人觉得学习起来比较抽象,在学习时感觉掌握了相关知识,但是放下书本又没有什么印象。其实,数据结构课程的实践性是很强的,不只是要掌握理论上的方法,还必须将这些方法应用到程序设计的实践中去。鉴于此,作者编写了本书。本书没有详细介绍各种数据结构的原理,而是重点介绍各种数据结构的实现方法,及相应的具体程序代码。
书中的所有程序都是在Dev-C++开发环境中编写而成的,本书附录中简单介绍了该开发环境的使用。
本书内容
本书分上、下两篇共10章,第1~5章介绍了常用算法和数据结构的相应代码,第6~8章介绍了使用数据结构和算法解决一些经典问题的程序,第9章介绍了信息学奥赛部分试题的解题代码,第10章给出了与算法和数据结构相关的常见面试题。各章内容如下:
第1章介绍了一些基础算法的使用,如递推算法、枚举(穷举)算法、递归算法、分治算法、贪婪算法、试探算法、模拟算法等,并编写了相应的实例代码演示这些算法的具体实现方法。
第2章介绍简单数据结构的实现,主要有线性表、队列、栈这3种简单数据结构的相关操作代码和实例。
第3章介绍复杂数据结构的实现,主要有二叉树和图这两种数据结构的相关操作代码,并介绍了哈夫曼树、图的最小生成树、最短路径等相关代码。
第4章介绍常见的排序算法,包括冒泡排序法、快速排序法、简单选择排序法、堆排序法、直接插入排序法、希尔(Shell)排序法、合并排序法等常见排序方法的原理及实现代码。
第5章介绍常见查找算法,包括顺序查找、折半查找、二叉排序树、索引查找、散列表等内容。
第6章介绍通过数据结构解决常见数学问题的内容,包括计算完数、亲密数、水仙花数,计算素数,哥德巴赫猜想,计算阶乘,求π的近似值,方程求解,矩阵运算,一元多项式运算等内容。
第7章介绍如何解决经典数据结构问题,包括约瑟夫环、大整数四则
目录预览:
零基础学算法 第2版
前言
上篇 算法与数据结构基础
第1章 基础算法思想
1.1 编程的灵魂:数据结构+算法
1.2 算法的作用:猜价格游戏
1.2.1 算法的作用
1.2.2 实例:看商品猜价格
1.3 递推算法思想
1.3.1 算法思路
1.3.2 顺推实例:斐波那契数列
1.3.3 逆推实例:该存多少钱
1.4 枚举(穷举)算法思想
1.4.1 算法思路
1.4.2 实例:填数游戏
1.4.3 实例:填运算符
1.5 递归算法思想
1.5.1 算法思路
1.5.2 实例:求阶乘
1.5.3 实例:数制转换
1.6 分治算法思想
1.6.1 算法思路
1.6.2 实例:乒乓球比赛日程安排
1.7 贪婪算法思想
1.7.1 算法思路
1.7.2 实例:换零钱
1.8 试探法算法思想
1.8.1 算法思路
1.8.2 实例:生成彩票号码组合
1.9 模拟算法
1.9.1 算法思路
1.9.2 实例:猜数游戏
1.9.3 实例:模拟掷骰子游戏
1.10 算法的评价
1.10.1 算法评价原则
1.10.2 算法的效率
1.11 上机实践
第2章 简单数据结构
2.1 最简单的结构:线性