算法基础
算法基础作者:罗德.斯蒂芬斯 开 本:32开 书号ISBN:9787111560920 定价: 出版时间:2017-05-01 出版社:机械工业出版社 |
算法基础 本书特色
本书的撰写有机结合了理论与实现,在讲授算法理论的同时也通过C#实例讲授了算法的实现。通过描述并分析一些重要的传统算法,从而理解它们并且了解每一个算法在什么时候使用较为适合,通俗易懂地教授读者创造自己的算法的技巧。这些技巧让读者能从不同的角度看问题,建立有用的方法工具,从而解决实际问题,抑或从容面对面试难题。本书适合当作“算法设计与分析”和“数据结构与算法”两门课程的教材或参考书使用。特别是本书还融入和面试相关的内容,因此适合作为算法相关工作面试的参考资料。
算法基础 目录
目 录Essential Algorithms: A Practical Approach to Computer Algorithms
出版者的话
译者序
前言
第1章 算法基础知识1
1.1 方法1
1.2 算法和数据结构2
1.3 伪代码2
1.4 算法的特点4
1.4.1 大O符号5
1.4.2 常见的运行时间函数7
1.4.3 可视化函数12
1.5实际因素12
1.6 总结13
练习13
第2章 数值算法16
2.1 随机化数据16
2.1.1 随机数生成16
2.1.2 随机化数组20
2.1.3 生成不均匀分布21
2.2 寻找*大公约数21
2.3 求幂运算23
2.4 有关素数的运算24
2.4.1 寻找素数因子24
2.4.2 寻找素数26
2.4.3素性测试27
2.5 进行数值积分28
2.5.1 矩形规则28
2.5.2梯形规则29
2.5.3 自适应求积30
2.5.4 蒙特卡罗积分32
2.6 查找零32
2.7 总结34
练习34
第3章 链表36
3.1 基本概念36
3.2 单链表37
3.2.1 遍历链表37
3.2.2 查找单元格37
3.2.3 使用哨兵38
3.2.4 在开头添加单元格39
3.2.5 在结尾添加单元格40
3.2.6 在某个单元格后插入单元格40
3.2.7 删除单元格41
3.3 双向链表42
3.4 有序链表43
3.5 链表算法44
3.5.1 复制链表44
3.5.2 链表的插入排序45
3.6 链表的选择排序46
3.7 多线程链表47
3.8 循环链表48
3.8.1 标记单元格49
3.8.2 使用散列表50
3.8.3 链表回溯51
3.8.4 反转链表51
3.8.5 乌龟和兔子53
3.8.6 双向链表中的循环问题55
3.9 总结55
练习55
第4章 数组57
4.1 基本概念57
4.2 一维数组58
4.2.1 查找元素58
4.2.2 查找*大值、*小值、平均值59
4.2.3 插入元素60
4.2.4 移除元素61
4.3 非零下界61
4.3.1 二维数组61
4.3.2 多维数组62
4.4 三角形数组64
4.5 稀疏数组66
4.5.1 找到行或列67
4.5.2 获取值68
4.5.3 设置值69
4.5.4 删除值71
4.6 矩阵72
4.7 总结74
练习74
第5章 栈和队列76
5.1 栈76
5.1.1 栈的链表实现76
5.1.2 栈的数组实现77
5.1.3 双向栈78
5.1.4 栈的算法79
5.2 队列84
5.2.1 队列的链表实现84
5.2.2 队列的数组实现85
5.2.3 专用队列86
5.3 总结87
练习87
第6章 排序89
6.1 时间复杂度为O(N2)的算法89
6.1.1 数组中的插入排序89
6.1.2 数组中的选择排序90
6.1.3 冒泡排序91
6.2 时间复杂度为O(N log N)的算法93
6.2.1 堆排序93
6.2.2 快速排序98
6.2.3 归并排序103
6.3 时间复杂度为亚O(N log N)的算法105
6.3.1 计数排序106
6.3.2 桶排序107
6.4 总结108
练习108
第7章 搜索110
7.1 线性搜索110
7.2 二分搜索111
7.3 插值搜索112
7.4 总结113
练习113
第8章 散列表114
8.1 散列表的基础知识114
8.2 链115
8.3 开放寻址116
8.3.1 删除记录117
8.3.2 线性探测118
8.3.3 二次探测119
8.3.4 伪随机探测120
8.3.5 双散列120
8.3.6 有序散列121
8.4 总结122
练习123
第9章 递归125
9.1 基础算法125
9.1.1 阶乘125
9.1.2 斐波那契数127
9.1.3 汉诺塔128
9.2 图算法130
9.2.1 科赫曲线130
9.2.2 希尔伯特曲线131
9.2.3 谢尔宾斯基曲线132
9.2.4 垫片134
9.3 回溯算法134
9.3.1 八皇后问题136
9.3.2 骑士巡游138
9.4 选择与排列140
9.4.1 循环选择140
9.4.2 重复选择141
9.4.3 不重复选择142
9.4.4 元素可重复的排列143
9.4.5 元素不重复的排列144
9.5 消去递归145
9.5.1 尾递归的消除145
9.5.2 存储中间值146
9.5.3 一般递归的消除148
9.6 总结150
练习151
第10章 树153
10.1 树的术语153
10.2 二叉树属性155
10.3 树的表示157
10.3.1 建立树的通用方法157
10.3.2 构造完全树159
10.4 树的遍历160
10.4.1 前序遍历160
10.4.2 中序遍历162
10.4.3 后序遍历163
10.4.4 深度优先遍历164
教材 研究生/本科/专科教材 工学
在线阅读
- 最新内容
- 相关内容
- 网友推荐
- 图文推荐
上一篇:单片机技术与应用项目式教程
下一篇:汽车机械基础
零零教育社区:论坛热帖子
[高考] 2022 西安电子科技大学《软件工程》大作业答案 (2022-04-25) |
[家长教育] 孩子为什么会和父母感情疏离? (2019-07-14) |
[教师分享] 给远方姐姐的一封信 (2018-11-07) |
[教师分享] 伸缩门 (2018-11-07) |
[教师分享] 回家乡 (2018-11-07) |
[教师分享] 是风味也是人间 (2018-11-07) |
[教师分享] 一句格言的启示 (2018-11-07) |
[教师分享] 无规矩不成方圆 (2018-11-07) |
[教师分享] 第十届全国教育名家论坛有感(二) (2018-11-07) |
[教师分享] 贪玩的小狗 (2018-11-07) |