适读人群 :适应于所有的计算机专业的学生与从业者,包括科学计算、人工智能、云计算、金融应用、数据分析等研究人员和开发人员1.好评爆表的极客时间算法专栏网红达人,GitHub上算法教程Star数量上万的作者新作;
2.10多万人验证过的、为求职面试者、工程师量身打造的数据结构与算法私教课;
3.20个经典数据结构与算法,一册在手,学习算法不愁,轻松搞定大厂的面试秘籍;
4.100个真实项目场景案例,助力工程师解决项目中的实际算法难题;
5.300多幅算法手绘图解,文科生都能学的懂算法通关书;
6.力扣(LeetCode)CEO张云浩(Hercy) 、腾讯T4级专家茹炳晟等专家倾力推荐!
内 容 提 要
本书结合实际应用场景讲解数据结构和算法,涵盖常用、常考的数据结构和算法的原理讲解、代码实现和应用场景等。
本书分为11章。章介绍复杂度分析方法。第2章介绍数组、链表、栈和队列这些基础的线性表数据结构。第3章介绍递归编程技巧、8种经典排序、二分查找及二分查找的变体问题。第4章介绍哈希表、位图、哈希算法和布隆过滤器。第5章介绍树相关的数据结构,包括二叉树、二叉查找树、平衡二叉查找树、递归树和B+树。第6章介绍堆,以及堆的各种应用,包括堆排序、优先级队列、求Top K、求中位数和求百分位数。第7章介绍跳表、并查集、线段树和树状数组这些比较不错的数据结构。第8章介绍字符串匹配算法,包括BF算法、RK算法、BM算法、KMP算法、Trie树和AC自动机。第9章介绍图及相关算法,包括深度优先搜索、广度优先搜索、拓扑排序、Dijkstra算法、Floyd算法、A*算法、很小生成树算法、优选流算法和优选二分匹配等。0章介绍4种算法思想,包括贪心、分治、回溯和动态规划。1章介绍4个经典项目中的数据结构和算法的应用,包括Redis、搜索引擎、鉴权限流和短网址服务。另外,附录A为书中的思考题的解答。
尽管本书的大部分代码采用Java语言编写,但本书讲解的知识与具体编程语言无关,因此,本书不但适合各种类型的研发工程师,而且可以作为高校计算机相关专业师生的学习用书和培训学校的教材。