展开全部

主编推荐语

本书深入阐述关键算法、数据结构、数据类型的基本原理。

内容简介

在编写代码时,每位软件专业人士都需要对算法有充分的理解。在这本实用性极强的著作中,作者对一些关键的算法进行了详实的描述,可以有效地提高用各种语言编写代码的质量。

软件开发人员、测试人员和维护人员可以在本书中学会如何使用算法,以创造性的方式解决计算性问题。

本书各章内容前后衔接紧密,环环相扣,用醒目的图表有条不紊地展示了一些核心概念,并对书中介绍的每种算法的性能进行了分析。

目录

  • 版权信息
  • 版权声明
  • 内容提要
  • O'Reilly Media,Inc.介绍
  • 业界评论
  • 前言
  • 服务与支持
  • 第1章 解决问题
  • 1.1 什么是算法?
  • 1.2 在一个任意的列表中查找最大值
  • 1.3 对关键操作进行计数
  • 1.4 可以预测算法性能的模型
  • 1.5 在一个随机列表中查找两个最大值
  • 1.6 锦标赛算法
  • 1.7 时间复杂度和空间复杂度
  • 1.8 总结
  • 1.9 挑战练习
  • 第2章 分析算法
  • 2.1 使用实验模型预测性能
  • 2.2 乘法可以更快
  • 2.3 性能分类
  • 2.4 渐进性分析
  • 2.5 对所有操作进行计数
  • 2.6 对所有字节进行计数
  • 2.7 关上一扇门,打开另一扇门
  • 2.8 二分数组搜索
  • 2.9 几乎和π一样简单
  • 2.10 一石二鸟
  • 2.11 综述
  • 2.12 曲线拟合与上下界的比较
  • 2.13 总结
  • 2.14 挑战练习
  • 第3章 更好的散列,更适意的人生
  • 3.1 值与键相关联
  • 3.2 散列函数和散列码
  • 3.3 (key,value)对的可散列结构
  • 3.4 使用线性探查法检测和解决冲突
  • 3.5 用链表实现分离链表
  • 3.6 从链表中删除一个数据项
  • 3.7 评估
  • 3.8 增长的散列表
  • 3.9 分析动态散列表的性能
  • 3.10 完美散列
  • 3.11 对(key,value)对进行迭代
  • 3.12 总结
  • 3.13 挑战练习
  • 第4章 堆起来!
  • 4.1 最大二叉堆
  • 4.2 插入(value,priority)对
  • 4.3 删除具有最高优先级的值
  • 4.4 用数组表示二叉堆
  • 4.5 实现上浮和下沉
  • 4.6 总结
  • 4.7 挑战练习
  • 第5章 深入浅出论排序!
  • 5.1 交换排序
  • 5.2 选择排序
  • 5.3 平方时间级排序算法的剖析
  • 5.4 分析插入排序和选择排序的性能
  • 5.5 递归和分治法
  • 5.6 归并排序
  • 5.7 快速排序
  • 5.8 堆排序
  • 5.9 O(NlogN)等级算法的性能比较
  • 5.10 Tim排序
  • 5.11 总结
  • 5.12 挑战练习
  • 第6章 二叉树:掌上世界的无限可能
  • 6.1 基础知识
  • 6.2 二叉查找树
  • 6.3 在二叉查找树中搜索值
  • 6.4 从二叉查找树删除值
  • 6.5 遍历二叉查找树
  • 6.6 分析二叉查找树的性能
  • 6.7 平衡二叉树
  • 6.8 分析平衡二叉树的性能
  • 6.9 使用二叉树作为(key,value)符号表
  • 6.10 使用二叉树作为优先队列
  • 6.11 总结
  • 6.12 挑战练习
  • 第7章 图:连得上的才是好的!
  • 7.1 图高效地存储了实用的信息
  • 7.2 使用深度优先搜索解决迷宫问题
  • 7.3 广度优先搜索提供了一种不同的搜索算法
  • 7.4 有向图
  • 7.5 具有边权重的图
  • 7.6 迪杰斯特拉算法
  • 7.7 全顶点对的最短路径
  • 7.8 弗洛伊德-沃歇尔算法
  • 7.9 总结
  • 7.10 挑战练习
  • 第8章 综述
  • 8.1 Python的内置数据类型
  • 8.2 在Python中实现堆栈
  • 8.3 在Python中实现队列
  • 8.4 堆和优先队列的实现
  • 8.5 进一步的探索
  • 关于作者
  • 关于封面
展开全部

评分及书评

评分不足
1个评分

出版方

人民邮电出版社

人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。