算法基础

本书特色

[

本书的撰写有机结合了理论与实现,在讲授算法理论的同时也通过C#实例讲授了算法的实现。通过描述并分析一些重要的传统算法,从而理解它们并且了解每一个算法在什么时候使用较为适合,通俗易懂地教授读者创造自己的算法的技巧。这些技巧让读者能从不同的角度看问题,建立有用的方法工具,从而解决实际问题,抑或从容面对面试难题。本书适合当作“算法设计与分析”和“数据结构与算法”两门课程的教材或参考书使用。特别是本书还融入和面试相关的内容,因此适合作为算法相关工作面试的参考资料。

]

作者简介

[

Rod Stephens初是一名数学家,但是在麻省理工学院进修时,他喜欢上了算法和编程,并且从此以后走上了专业编程的道路。作为一位获奖导师,他经常在各种技术大会上讲演,并已写了26本技术图书,被翻译为多国语言出版。

]

目录

目 录Essential Algorithms: A Practical Approach to Computer Algorithms出版者的话译者序前言第1章 算法基础知识11.1 方法11.2 算法和数据结构21.3 伪代码21.4 算法的特点41.4.1 大O符号51.4.2 常见的运行时间函数71.4.3 可视化函数121.5实际因素121.6 总结13练习13第2章 数值算法162.1 随机化数据162.1.1 随机数生成162.1.2 随机化数组202.1.3 生成不均匀分布212.2 寻找*大公约数212.3 求幂运算232.4 有关素数的运算242.4.1 寻找素数因子242.4.2 寻找素数262.4.3素性测试272.5 进行数值积分282.5.1 矩形规则282.5.2梯形规则292.5.3 自适应求积302.5.4 蒙特卡罗积分322.6 查找零322.7 总结34练习34第3章 链表363.1 基本概念363.2 单链表373.2.1 遍历链表373.2.2 查找单元格373.2.3 使用哨兵383.2.4 在开头添加单元格393.2.5 在结尾添加单元格403.2.6 在某个单元格后插入单元格403.2.7 删除单元格413.3 双向链表423.4 有序链表433.5 链表算法443.5.1 复制链表443.5.2 链表的插入排序453.6 链表的选择排序463.7 多线程链表473.8 循环链表483.8.1 标记单元格493.8.2 使用散列表503.8.3 链表回溯513.8.4 反转链表513.8.5 乌龟和兔子533.8.6 双向链表中的循环问题553.9 总结55练习55第4章 数组574.1 基本概念574.2 一维数组584.2.1 查找元素584.2.2 查找*大值、*小值、平均值594.2.3 插入元素604.2.4 移除元素614.3 非零下界614.3.1 二维数组614.3.2 多维数组624.4 三角形数组644.5 稀疏数组664.5.1 找到行或列674.5.2 获取值684.5.3 设置值694.5.4 删除值714.6 矩阵724.7 总结74练习74第5章 栈和队列765.1 栈765.1.1 栈的链表实现765.1.2 栈的数组实现775.1.3 双向栈785.1.4 栈的算法795.2 队列845.2.1 队列的链表实现845.2.2 队列的数组实现855.2.3 专用队列865.3 总结87练习87第6章 排序896.1 时间复杂度为O(N2)的算法896.1.1 数组中的插入排序896.1.2 数组中的选择排序906.1.3 冒泡排序916.2 时间复杂度为O(N log N)的算法936.2.1 堆排序936.2.2 快速排序986.2.3 归并排序1036.3 时间复杂度为亚O(N log N)的算法1056.3.1 计数排序1066.3.2 桶排序1076.4 总结108练习108第7章 搜索1107.1 线性搜索1107.2 二分搜索1117.3 插值搜索1127.4 总结113练习113第8章 散列表1148.1 散列表的基础知识1148.2 链1158.3 开放寻址1168.3.1 删除记录1178.3.2 线性探测1188.3.3 二次探测1198.3.4 伪随机探测1208.3.5 双散列1208.3.6 有序散列1218.4 总结122练习123第9章 递归1259.1 基础算法1259.1.1 阶乘1259.1.2 斐波那契数1279.1.3 汉诺塔1289.2 图算法1309.2.1 科赫曲线1309.2.2 希尔伯特曲线1319.2.3 谢尔宾斯基曲线1329.2.4 垫片1349.3 回溯算法1349.3.1 八皇后问题1369.3.2 骑士巡游1389.4 选择与排列1409.4.1 循环选择1409.4.2 重复选择1419.4.3 不重复选择1429.4.4 元素可重复的排列1439.4.5 元素不重复的排列1449.5 消去递归1459.5.1 尾递归的消除1459.5.2 存储中间值1469.5.3 一般递归的消除1489.6 总结150练习151第10章 树15310.1 树的术语15310.2 二叉树属性15510.3 树的表示15710.3.1 建立树的通用方法15710.3.2 构造完全树15910.4 树的遍历16010.4.1 前序遍历16010.4.2 中序遍历16210.4.3 后序遍历16310.4.4 深度优先遍历16410.4.5 遍历的运行时间16410.5 排序树 16510.5.1 添加结点16510.5.2 查找结点16610.5.3 删除结点16710.6 线索树16810.6.1 建立线索树16910.6.2 使用线索树17110.7 特化树算法17210.7.1 动物游戏17210.7.2 表达式求值17310.7.3 四叉树17510.7.4 Trie树17910.8 总结182练习182第11章 平衡树18511.1 AVL树18511.1.1 添加值18511.1.2 删除值18711.2 2-3树18711.2.1 添加值18811.2.2 删除值18911.3 B树19111.3.1 添加值19111.3.2 删除值19211.4 平衡树变体19311.4.1 自上而下的B树19311.4.2 B 树19311.5 总结194练习195第12章 决策树19612.1 游戏搜索树19612.1.1 极小化极大值算法19712.1.2 初始步骤和反应19912.1.3 启发式游戏树20012.2 搜索通用决策树20112.2.1 优化问题20212.2.2 穷举搜索20212.2.3 分支界限20312.2.4 决策树的启发式搜索20512.2.5 其他决策树问题20912.3 总结212练习195第13章 基本网络算法21413.1 网络术语21413.2

封面

算法基础

书名:算法基础

作者:罗德.斯蒂芬斯

页数:402

定价:¥79.0

出版社:机械工业出版社

出版日期:2017-05-01

ISBN:9787111560920

PDF电子书大小:61MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注