图书介绍
零基础学算法PDF|Epub|txt|kindle电子书版本网盘下载
- 戴艳等编著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111284048
- 出版时间:2010
- 标注页数:477页
- 文件大小:199MB
- 文件页数:491页
- 主题词:算法分析;数据结构
PDF下载
下载说明
零基础学算法PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一篇 算法与数据结构基础1
第1章 基础算法思想1
1.1编程的灵魂:数据结构+算法1
1.2算法的作用2
1.2.1概述2
1.2.2实例:看商品猜价格2
1.3递推算法思想5
1.3.1算法思路5
1.3.2顺推实例:斐波那契数列5
1.3.3逆推实例:该存多少钱7
1.4枚举算法思想8
1.4.1算法思路9
1.4.2实例:填数游戏9
1.4.3实例:填运算符10
1.5递归算法思想13
1.5.1算法思路13
1.5.2实例:求阶乘14
1.5.3实例:数制转换16
1.6分治算法思想17
1.6.1算法思路17
1.6.2实例:乒乓球比赛赛程安排18
1.7贪婪算法思想21
1.7.1算法思路22
1.7.2实例:换零钱22
1.8试探法算法思想24
1.8.1算法思路24
1.8.2实例:生成彩票号码组合25
1.9模拟算法27
1.9.1算法思路28
1.9.2实例:猜数游戏28
1.9.3实例:模拟掷骰子游戏29
1.10算法的评价30
1.10.1算法评价原则30
1.10.2算法的效率30
第2章 简单数据结构32
2.1最简单的结构:线性表32
2.1.1什么叫线性表32
2.1.2操作顺序表33
2.1.3操作链表40
2.1.4实例:用链表制作通信录49
2.2先进先出结构:队列53
2.2.1什么是队列53
2.2.2操作队列53
2.2.3循环队列的操作56
2.2.4实例:银行排号程序59
2.3后进先出结构:栈61
2.3.1什么是栈61
2.3.2操作栈62
2.3.3实例:算术表达式求值66
第3章 复杂数据结构74
3.1层次关系结构:树74
3.1.1树的概念74
3.1.2二叉树的概念75
3.1.3二叉树的存储77
3.1.4操作二叉树79
3.1.5遍历二叉树82
3.1.6测试二叉树86
3.1.7线索二叉树89
3.1.8最优二叉树(赫夫曼树)96
3.2网状关系:图105
3.2.1图的定义和基本术语106
3.2.2图的存储109
3.2.3创建图112
3.2.4图的遍历117
3.2.5最小生成树121
3.2.6最短路径126
第4章 常用算法——排序131
4.1排序概述131
4.1.1排序算法分类131
4.1.2数据准备132
4.2冒泡排序法133
4.2.1算法描述133
4.2.2改进的冒泡排序法135
4.3快速排序法137
4.3.1算法描述137
4.3.2算法实现138
4.4简单选择排序法140
4.5堆排序法141
4.5.1算法描述141
4.5.2算法实现143
4.6直接插入排序法146
4.6.1算法描述146
4.6.2算法实现147
4.7希尔排序法148
4.7.1算法描述148
4.7.2算法实现149
4.8合并排序法150
4.8.1算法描述151
4.8.2算法实现152
4.9排序算法的选择155
4.9.1选择基准155
4.9.2各种排序算法的优缺点156
第5章 常用算法——查找157
5.1查找的基本概念157
5.2简单查找158
5.2.1顺序查找158
5.2.2折半查找160
5.3二叉排序树163
5.3.1二叉排序树的定义163
5.3.2插入结点163
5.3.3查找结点166
5.3.4删除结点167
5.4索引查找171
5.4.1索引的概念171
5.4.2索引查找算法173
5.5散列表177
5.5.1散列表概述177
5.5.2构造散列函数178
5.5.3处理冲突180
5.5.4创建和查找散列表181
第二篇 用数据结构解决实际问题185
第6章 数学问题185
6.1有趣的整数185
6.1.1完数185
6.1.2亲密数187
6.1.3水仙花数189
6.1.4自守数190
6.1.5最大公约数和最小公倍数191
6.2素数194
6.2.1求素数194
6.2.2回文素数197
6.2.3哥德巴赫猜想200
6.3阶乘203
6.3.1用递归计算阶乘204
6.3.2大数阶乘204
6.4求π的近似值208
6.4.1概率法209
6.4.2割圆法210
6.4.3公式法211
6.4.4计算任意位数的π213
6.5方程求解216
6.5.1高斯消元法解线性方程组216
6.5.2二分法解非线性方程221
6.5.3牛顿迭代法解非线性方程222
6.6矩阵的运算224
6.6.1矩阵加法和乘法运算225
6.6.2多维矩阵转一维矩阵227
6.6.3逆矩阵229
6.6.4稀疏矩阵233
6.7一元多项式的运算235
6.7.1多项式加法236
6.7.2多项式减法240
第7章 数据结构问题245
7.1约瑟夫环245
7.2大整数四则运算247
7.2.1使用数组进行大整数运算247
7.2.2使用链表进行大整数运算260
7.3进制转换267
7.3.1进制转换的分析267
7.3.2进制转换实现代码268
7.4括号匹配272
7.5中序表达式转后序表达式275
7.5.1后序表达式275
7.5.2算法实现276
7.5.3后序表达式求值279
7.6停车场管理282
7.6.1问题分析282
7.6.2算法实现282
7.7迷宫求解292
7.7.1迷宫问题292
7.7.2算法实现293
7.7.3求迷宫所有路径300
7.8 LZW压缩的实现304
7.8.1 LZW的相关概念304
7.8.2 LZW压缩过程304
7.8.3 LZW压缩的实现306
7.8.4 LZW解压缩过程310
7.8.5解压缩函数311
7.8.6集成压缩和解压缩功能314
第8章 算法经典问题316
8.1不定方程问题316
8.1.1百钱买百鸡316
8.1.2存钱利息最大化318
8.1.3求阶梯数321
8.1.4五家共井322
8.1.5鸡兔同笼323
8.2推算问题324
8.2.1猴子吃桃324
8.2.2舍罕王的赏赐325
8.3魔术方阵327
8.3.1简捷连续填数法327
8.3.2双向翻转法330
8.3.3井字调整法332
8.4智力趣题336
8.4.1汉诺塔336
8.4.2背包问题340
8.4.3马踏棋盘347
8.4.4八皇后问题357
8.4.5青蛙过河362
8.4.6三色旗365
8.5趣味游戏368
8.5.1取石子游戏368
8.5.2生命游戏371
8.5.3洗扑克牌376
8.5.4黑白棋379
8.5.5凑24点游戏388
8.5.6 10点半游戏394
第9章 信息学奥赛试题精解399
9.1 NOIP普及组试题精解399
9.1.1求级数之和399
9.1.2求素数组合402
9.1.3计算卒的路线405
9.1.4检查校验码407
9.1.5排座位409
9.1.6击鼓传花413
9.1.7绘制模拟立体图414
9.1.8公路上的树419
9.1.9采药420
9.1.10求等价表达式422
9.1.11不开心的龙龙426
9.1.12孙悟空摘桃428
9.1.13 FBI树431
9.1.14外星人的语言433
9.2 NOIP提高组试题精解438
9.2.1砝码称重438
9.2.2阿明的零花钱439
9.2.3购买年货442
9.2.4调整队形445
9.2.5均分纸牌448
9.2.6最小矩形面积450
9.2.7低价买股票458
9.2.8数字金字塔461
9.2.9方格取数463
9.2.10导弹防御系统467
附录 Dev-C++开发环境的使用470