算法秘籍

算法秘籍

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

一本关于数据结构和算法的书,以Java为描述语言,介绍了计算机编程中常用的数据结构和算法。

内容简介

全书共13章,讲述了常见的数据结构、排序算法、位运算、树、递归、回溯算法、贪心算法、双指针和滑动窗口、BFS和DFS、前缀和、动态规划、并查集、其他经典算法等知识。本书内容丰富,实用性强,通过示例练习和问题分析等方式,详细讲解了与算法有关的知识点。本书附赠视频讲解二维码,以及源代码。

本书适合程序员、计算机专业相关师生,以及对算法感兴趣的读者阅读。

作者简介

作者王一博,网名博哥,各大专业网站知名博主,具有10多年的开发经验,2017年开始做算法试题并在公众号发布试题讲解,经常游走在全球30多个算法网站之间,累计做题2000多道,对算法试题有自己独特的解题思路和技巧。

章节目录

版权信息

内容提要

前言

CHAPTER 1 第1章 常见的数据结构

1.1 数组

1.1.1 滚动数组

1.1.2 差分数组

1.1.3 二维差分数组

1.1.4 树状数组

1.2 链表

1.3 队列

1.4 栈

1.5 散列表

1.6 树

1.6.1 二叉搜索树

1.6.2 AVL树

1.6.3 红黑树

1.6.4 字典树

1.6.5 哈夫曼树

1.6.6 线段树

1.6.7 笛卡儿树

1.6.8 其他树

1.7 堆

1.8 图

1.8.1 图的分类

1.8.2 图的表示方式

1.8.3 图的遍历

1.8.4 迪杰斯特拉(Dijkstra)算法

1.8.5 贝尔曼-福特(Bellman-Ford)算法

1.8.6 SPFA算法

1.8.7 弗洛伊德(Floyd)算法

1.8.8 普里姆(Prim)算法

1.8.9 克鲁斯卡尔(Kruskal)算法

1.8.10 博鲁夫卡(Boruvka)算法

1.8.11 拓扑排序

1.9 数据结构总结

CHAPTER 2 第2章 排序算法

2.1 冒泡排序

2.2 选择排序

2.3 插入排序

2.4 快速排序

2.5 归并排序

2.6 堆排序

2.7 桶排序

2.8 基数排序

2.9 希尔排序

2.10 计数排序

2.11 其他排序

CHAPTER 3 第3章 位运算

3.1 位运算的常见操作符

3.2 位运算的一些简单操作

3.3 示例练习

3.3.1 交换两个数字的值

3.3.2 只出现一次的数字

3.3.3 有限状态机

3.3.4 二进制中1的个数

3.3.5 总的比特位数

3.3.6 反转二进制

3.3.7 2的幂

3.3.8 4的幂

3.3.9 交替二进制数

3.3.10 数字范围的按位与

3.3.11 字符串长度的最大乘积

3.3.12 两整数之和

3.3.13 集合的所有子集

CHAPTER 4 第4章 树

4.1 二叉树的遍历方式

4.1.1 二叉树的DFS遍历

4.1.2 二叉树的Morris遍历

4.1.3 二叉树的BFS遍历

4.1.4 N叉树的遍历

4.2 二叉树层次遍历习题

4.3 二叉树的特性习题

4.4 二叉树的深度优先搜索习题

4.5 二叉树的构造

4.6 二叉树的公共祖先问题

CHAPTER 5 第5章 递归

5.1 递归的理解

5.2 示例练习

5.2.1 反转链表

5.2.2 检查是否是回文链表

5.2.3 删除链表的倒数第n个节点

5.2.4 生成括号

5.2.5 二叉树展开为链表

5.2.6 将二叉搜索树改为累加树

CHAPTER 6 第6章 回溯算法

6.1 回溯算法的使用

6.2 示例练习

6.2.1 解数独

6.2.2 n皇后

6.2.3 目标值的组合

6.2.4 组合

6.2.5 单词搜索

6.3 回溯算法的剪枝

6.3.1 有重复项数字的全排列

6.3.2 划分为k个相等的子集

CHAPTER 7 第7章 贪心算法

7.1 贪心算法存在的不足

7.2 示例练习

7.2.1 柠檬找零

7.2.2 分发饼干

7.2.3 分糖果问题

7.2.4 最小跳跃次数

7.2.5 无重叠区域

CHAPTER 8 第8章 双指针和滑动窗口

8.1 相向双指针

8.1.1 回文串

8.1.2 盛最多水的容器

8.2 同向双指针

8.2.1 移动所有的0到数组末尾

8.2.2 两个链表的第一个公共节点

8.3 快慢双指针

8.3.1 判断链表中是否有环

8.3.2 找出链表的中间节点

8.4 滑动窗口

8.5 大小可变窗口

8.5.1 最长没有重复字符的子串

8.5.2 最小覆盖子串

8.5.3 长度最小的连续子数组

8.6 固定窗口

8.6.1 平均值最大的子数组

8.6.2 找到字符串中的异位词

8.6.3 子数组中的最大值

8.7 只增不减窗口

8.7.1 最大连续1的个数

8.7.2 替换后的最长重复字符

8.7.3 篮子里的水果

CHAPTER 9 第9章 BFS和DFS

9.1 BFS的使用模板

9.2 DFS的使用模板

9.3 示例练习

9.3.1 岛屿数量

9.3.2 被围绕的区域

9.3.3 岛屿的最大面积

9.3.4 腐烂的苹果

9.3.5 删除无效的括号

9.3.6 省份数量

CHAPTER 10 第10章 前缀和

10.1 一维前缀和

10.2 二维前缀和

10.3 示例练习

10.3.1 和为k的子数组

10.3.2 k个奇数的子数组

10.3.3 连续数组的长度

10.3.4 总和可被k整除的子数组

10.3.5 和为k的路径

CHAPTER 11 第11章 动态规划

11.1 动态规划讲解

11.1.1 兑换零钱(一)

11.1.2 国王与金矿

11.1.3 解题思路

11.2 背包问题

11.2.1 01背包问题

11.2.2 完全背包问题

11.2.3 多重背包问题

11.2.4 状态压缩

11.3 组合与排列

11.3.1 兑换零钱(二)

11.3.2 加起来和为目标值的组合

11.3.3 单词拆分

11.4 背包练习

11.4.1 目标和(01背包)

11.4.2 平分子集(01背包)

11.4.3 最少的完全平方数(完全背包)

11.5 其他练习

11.5.1 最长公共子串

11.5.2 最长公共子序列

11.5.3 网格中的不同路径

11.5.4 最大正方形

11.5.5 最长上升子序列

CHAPTER 12 第12章 并查集

12.1 并查集的使用

12.2 并查集优化

12.3 并查集路径压缩

12.4 按大小合并优化

12.5 按秩合并优化

12.6 示例练习

12.6.1 岛屿数量

12.6.2 被围绕的区域

12.6.3 省份数量

12.6.4 飞地的数量

CHAPTER 13 第13章 其他经典算法

13.1 KMP算法

13.2 马拉车算法

13.3 摩尔投票算法

13.4 埃氏筛法

13.5 两个数的最大公约数

13.6 算术表达式的运算

13.6.1 中缀表达式转换的括号法

13.6.2 中缀表达式转换的二叉树法

13.6.3 中缀表达式转前缀表达式

13.6.4 中缀表达式转后缀表达式

13.6.5 后缀表达式求值

13.6.6 前缀表达式求值

13.7 牛顿迭代法求平方根

13.8 Base64编码

算法秘籍是2023年由机械工业出版社出版,作者王一博。

得书感谢您对《算法秘籍》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
算法学习指南 电子书
本书深入阐述关键算法、数据结构、数据类型的基本原理。
机器学习算法评估实战 电子书
在机器学习算法的实际应用中,我们不仅要知道算法的原理,也要了解如何评估算法上线服务的可靠性。
联邦学习:原理与算法 电子书
人工智能机器学习教程书籍,平安科技联邦学习团队执笔,由浅入深介绍联邦机器学习的算法体系,注重工程实践,保证理论前沿性。
数据结构与算法详解 电子书
本书旨在讲解数据结构和算法的核心知识。本书主要内容包括线性表、栈、队列、串、数组、广义表、树、图、查找算法、排序算法、递推算法、递归算法、枚举算法、贪心算法、回溯算法、数值算法和实用算法等。本书适合计算机专业的学生、软件开发专业人员等阅读。
图解数据结构与算法 电子书
图解+步骤学数据结构,适合非编程读者。