# 算法模板(Java版) > 本项目内容主要参考[算法模板](https://github.com/greyireland/algorithm-pattern),在此感谢原作者的整理与贡献 在原项目的基础上,尽量保持了原有的结构划分,并做了一点微小的工作: - 代码改写为`java`语言版本 - 调整内容,新增了几种算法 - 补充部分[leetcode中国站](https://leetcode-cn.com/)的题目链接 - 书籍链接:[GitBook](https://chienmy.gitbook.io/algorithm-pattern-java/) ## 核心内容 ### 数据结构 - [链表](./data_structure/linked_list.md) - [栈和队列](./data_structure/stack_queue.md) - [二叉树](./data_structure/binary_tree.md) ### 基础算法 - [滑动窗口](./basic_algorithm/slide_window.md) - [回溯算法](./basic_algorithm/backtrack.md) - [二分搜索](./basic_algorithm/binary_search.md) - [排序算法](./basic_algorithm/sort.md) - [动态规划](./basic_algorithm/dp.md) - [并查集](./basic_algorithm/disjoin_set.md) ### 进阶算法 > 此处整理了一些特殊情况下适用的算法 - [贪心算法](./advanced_algorithm/greedy.md) - [快速选择](./advanced_algorithm/quick_select.md) - [三向切分快速排序](./advanced_algorithm/three_way_quick_sort.md) - [二进制运算](./advanced_algorithm/binary_op.md) ## 刷题建议 1. 巩固基础:先从数据结构的基础题做起,掌握常见数据结构以及对应操作的实现 2. 算法专题:推荐按类型刷题,在几天之内做完同一种类型的题目,可以迅速理解 3. 查漏补缺:对于某些不常见的特殊解法,在最后快速刷掉,务必留下印象 > ### 欢迎 star 本项目 > > Github地址:https://github.com/chienmy/algorithm-pattern-java > > 本项目采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。