更新时间:2024-03-14 16:55:52
封面
版权信息
内容简介
前言
上篇 数据结构与算法基础
第1章 线性结构
1.1 数组
1.1.1 数组的基本概念
1.1.2 数组的定义
1.1.3 数组的基本操作
1.1.4 数组的性能分析
1.1.5 案例分析
1.2 链表
1.2.1 链表的基本概念
1.2.2 链表的定义
1.2.3 链表的基本操作
1.2.4 链表的性能分析
1.2.5 不同形态的链表结构
1.2.6 案例分析
1.3 栈
1.3.1 栈的基本概念
1.3.2 栈的定义
1.3.3 栈的基本操作
1.3.4 案例分析
1.4 队列
1.4.1 队列的基本概念
1.4.2 队列的定义
1.4.3 队列的基本操作
1.4.4 双端队列
1.4.5 案例分析
第2章 树结构
2.1 树的基本概念
2.2 二叉树
2.3 二叉树的遍历
2.4 创建二叉树
2.5 二叉排序树与AVL树
2.6 案例分析
第3章 图结构
3.1 图的基本概念
3.2 图的存储形式
3.3 邻接表的实现
3.4 图的遍历
3.5 案例分析
第4章 排序与查找
4.1 直接插入排序
4.2 冒泡排序
4.3 简单选择排序
4.4 快速排序
4.5 希尔排序
4.6 堆排序
4.7 各种排序算法的比较
4.8 折半查找算法
4.9 案例分析
第5章 穷举法
5.1 穷举法的基本思想
5.2 案例分析
第6章 递归算法
6.1 递归算法的基本思想
6.2 案例分析
第7章 贪心算法
7.1 贪心算法的基本思想
7.2 案例分析
第8章 动态规划
8.1 动态规划算法的基本思想
8.2 案例分析
第9章 回溯法
9.1 回溯法的基本思想
9.2 案例分析
下篇 大厂经典面试题详解
第10章 数组和字符串类面试题
10.1 数组元素的奇偶重排
10.2 不改变顺序的数组元素奇偶重排
10.3 有序数组的两数之和
10.4 三数之和
10.5 两个有序数组的交集
10.6 最长公共前缀问题
10.7 最长公共子串问题
10.8 长度最小的连续子数组
10.9 最长无重复子串
10.10 删除字符数组中特定字符
10.11 最短连续子数组问题
10.12 字符数组的内容重排
10.13 字符串数组类面试题解题技巧
第11章 线性结构类面试题
11.1 约瑟夫环
11.2 单链表的逆置
11.3 判断链表中是否存在循环结构
11.4 判断两个链表是否相交
11.5 判断回文链表
11.6 最小栈问题
11.7 每日温度
11.8 LRU缓存的设计
11.9 线性结构类面试题解题技巧
第12章 二叉树类面试题
12.1 完全二叉树的判定
12.2 二叉树节点的最大距离
12.3 打印二叉树中的重复子树
12.4 还原二叉树
12.5 二叉树类面试题解题技巧
第13章 递归和动态规划系列面试题