> For the complete documentation index, see [llms.txt](https://chienmy.gitbook.io/algorithm-pattern-java/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://chienmy.gitbook.io/algorithm-pattern-java/readme.md).

# README

> 本项目内容主要参考[算法模板](https://github.com/greyireland/algorithm-pattern)，在此感谢原作者的整理与贡献

在原项目的基础上，尽量保持了原有的结构划分，并做了一点微小的工作：

* 代码改写为`java`语言版本
* 调整内容，新增了几种算法
* 补充部分[leetcode中国站](https://leetcode-cn.com/)的题目链接
* 书籍链接：[GitBook](https://chienmy.gitbook.io/algorithm-pattern-java/)

## 核心内容

### 数据结构

* [链表](/algorithm-pattern-java/shu-ju-jie-gou/linked_list.md)
* [栈和队列](/algorithm-pattern-java/shu-ju-jie-gou/stack_queue.md)
* [二叉树](/algorithm-pattern-java/shu-ju-jie-gou/binary_tree.md)

### 基础算法

* [滑动窗口](/algorithm-pattern-java/ji-chu-suan-fa/slide_window.md)
* [回溯算法](/algorithm-pattern-java/ji-chu-suan-fa/backtrack.md)
* [二分搜索](/algorithm-pattern-java/ji-chu-suan-fa/binary_search.md)
* [排序算法](/algorithm-pattern-java/ji-chu-suan-fa/sort.md)
* [动态规划](/algorithm-pattern-java/ji-chu-suan-fa/dp.md)
* [并查集](/algorithm-pattern-java/ji-chu-suan-fa/disjoin_set.md)

### 进阶算法

> 此处整理了一些特殊情况下适用的算法

* [贪心算法](/algorithm-pattern-java/jin-jie-suan-fa/greedy.md)
* [快速选择](/algorithm-pattern-java/jin-jie-suan-fa/quick_select.md)
* [三向切分快速排序](/algorithm-pattern-java/jin-jie-suan-fa/three_way_quick_sort.md)
* [二进制运算](/algorithm-pattern-java/jin-jie-suan-fa/binary_op.md)

## 刷题建议

1. 巩固基础：先从数据结构的基础题做起，掌握常见数据结构以及对应操作的实现
2. 算法专题：推荐按类型刷题，在几天之内做完同一种类型的题目，可以迅速理解
3. 查漏补缺：对于某些不常见的特殊解法，在最后快速刷掉，务必留下印象

> ### 欢迎 star 本项目
>
> Github地址：<https://github.com/chienmy/algorithm-pattern-java>
>
> 本项目采用[知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议](http://creativecommons.org/licenses/by-nc-sa/4.0/)进行许可。

![](https://licensebuttons.net/l/by-nc-sa/4.0/88x31.png)
