数据结构与算法之美
正版新书 新华官方库房直发 可开电子发票
¥
62.3
5.2折
¥
119.8
全新
库存19件
作者王争
出版社人民邮电出版社
ISBN9787115562050
出版时间2021-06
版次1
装帧平装
开本16开
纸张胶版纸
页数352页
字数551千字
定价119.8元
货号SC:9787115562050
上书时间2024-10-31
商品详情
- 品相描述:全新
-
全新正版 提供发票
- 商品描述
-
作者简介:
王争,前Google工程师,微信公众号【小争哥】作者,GitHub上算法教程Star数排名前列。热衷分享,致力于通俗易懂地讲解数据结构和算法,帮助广大程序员攻克算法学习、算法刷题、算法面试三项难关。
主编推荐:
1.好评爆表的极客时间算法专栏网红达人,GitHub上算法教程Star数量上万的作者新作;
2.10多万人验证过的、为求职面试者、工程师量身打造的数据结构与算法私教课;
3.20个经典数据结构与算法,一册在手,学习算法不愁,轻松搞定大厂的面试秘籍;
4.100个真实项目场景案例,助力工程师解决项目中的实际算法难题;
5.300多幅算法手绘图解,文科生都能学的懂算法通关书;
内容简介:
本书结合实际应用场景讲解数据结构和算法,涵盖常用、常考的数据结构和算法的原理讲解、代码实现和应用场景等。
本书分为11章。第1章介绍复杂度分析方法。第2章介绍数组、链表、栈和队列这些基础的线性表数据结构。第3章介绍递归编程技巧、8种经典排序、二分查找及二分查找的变体问题。第4章介绍哈希表、位图、哈希算法和布隆过滤器。第5章介绍树相关的数据结构,包括二叉树、二叉查找树、平衡二叉查找树、递归树和B+树。第6章介绍堆,以及堆的各种应用,包括堆排序、优先级队列、求TopK、求中位数和求百分位数。第7章介绍跳表、并查集、线段树和树状数组这些比较高级的数据结构。第8章介绍字符串匹配算法,包括BF算法、RK算法、BM算法、KMP算法、Trie树和AC自动机。第9章介绍图及相关算法,包括深度优先搜索、广度优先搜索、拓扑排序、Dijkstra算法、Floyd算法、A*算法、最小生成树算法、优选流算法和优选二分匹配等。第10章介绍4种算法思想,包括贪心、分治、回溯和动态规划。第11章介绍4个经典项目中的数据结构和算法的应用,包括Redis、搜索引擎、鉴权限流和短网址服务。另外,附录A为书中的思考题的解答。
尽管本书的大部分代码采用Java语言编写,但本书讲解的知识与具体编程语言无关,因此,本书不但适合各种类型的研发工程师,而且可以作为高校计算机相关专业师生的学习用书和培训学校的教材。
目录:
第1章复杂度分析1
1.1复杂度分析(上):如何分析代码的执行效率和资源消耗2
1.1.1复杂度分析的意义2
1.1.2大O复杂度表示法2
1.1.3时间复杂度分析方法4
1.1.4几种常见的时间复杂度量级5
1.1.5空间复杂度分析方法7
1.1.6内容小结7
1.1.7思考题8
1.2复杂度分析(下):详解好、坏、平均、均摊这4种时间复杂度8
1.2.1好时间复杂度和坏时间复杂度8
1.2.2平均时间复杂度9
1.2.3均摊时间复杂度10
1.2.4内容小结11
1.2.5思考题12
第2章数组、链表、栈和队列13
2.1数组(上):为什么数组的下标一般从0开始编号14
2.1.1数组的定义14
2.1.2寻址公式和随机访问特性15
2.1.3低效的插入和删除操作15
2.1.4警惕数组访问越界问题16
2.1.5容器能否接近替代数组17
2.1.6解答本节开篇问题18
2.1.7内容小结18
2.1.8思考题18
2.2数组(下):数据结构中的数组和编程语言中的数组的区别19
2.2.1C/C中数组的实现方式19
2.2.2Java中数组的实现方式20
2.2.3JavaScript中数组的实现方式22
2.2.4内容小结23
2.2.5思考题23
2.3链表(上):如何基于链表实现LRU缓存淘汰算法23
2.3.1链表的底层存储结构24
2.3.2链表的定义和操作24
...
— 没有更多了 —
全新正版 提供发票
以下为对购买帮助不大的评价