# SUMMARY

  - [labuladong 的算法小抄](README.md)

# [第零章、必读系列]()
---
  - [学习算法和刷题的框架思维](think_like_computer/learning_data_structure_and_algorithm.md)
  - [学习数据结构和算法读什么书](think_like_computer/why_i_recommend_algs4.md)
  - [动态规划解题框架](dynamic_programming/AnalysisOfDynamicProgramming.md)
  - [动态规划答疑篇](dynamic_programming/OptimalSubstructure.md)
  - [回溯算法解题框架](think_like_computer/DetailsaboutBacktracking.md)
  - [为了学会二分查找，我写了首诗](think_like_computer/DetailedBinarySearch.md)
  - [滑动窗口解题框架](think_like_computer/SlidingWindowTechnique.md)
  - [双指针技巧解题框架](think_like_computer/double_pointer.md)
  - [Linux的进程、线程、文件描述符是什么](common_knowledge/linuxProcess.md)
  - [Git/SQL/正则表达式的在线练习平台](common_knowledge/OnlinePraticePlatform.md)

# [第一章、动态规划系列]()
---
  - [动态规划详解](dynamic_programming/AnalysisOfDynamicProgramming.md)
  - [动态规划答疑篇](dynamic_programming/OptimalSubstructure.md)
  - [动态规划设计：最长递增子序列](dynamic_programming/LongestIncreasingSubsequence.md)
  - [编辑距离](dynamic_programming/EditDistance.md)
  - [经典动态规划问题：高楼扔鸡蛋](dynamic_programming/ThrowingEggsinHighBuildings.md)
  - [经典动态规划问题：高楼扔鸡蛋（进阶）](dynamic_programming/SuperEggDropAdvanced.md)
  - [动态规划之子序列问题解题模板](dynamic_programming/StrategiesForSubsequenceProblem.md)
  - [动态规划之博弈问题](dynamic_programming/GameProblemsInDynamicProgramming.md)
  - [贪心算法之区间调度问题](dynamic_programming/IntervalScheduling.md)
  - [动态规划之KMP字符匹配算法](dynamic_programming/KMPCharacterMatchingAlgorithmInDynamicProgramming.md)
  - [团灭 LeetCode 股票买卖问题](dynamic_programming/BestTimeToBuyAndSellStock.md)
  - [团灭 LeetCode 打家劫舍问题](dynamic_programming/HouseRobber.md)
  - [动态规划之四键键盘](dynamic_programming/FourKeysKeyboard.md)
  - [动态规划之正则表达](dynamic_programming/RegularExpression.md)
  - [最长公共子序列](dynamic_programming/LongestCommonSubsequence.md)

# [第二章、数据结构系列]()
---
  - [学习算法和刷题的思路指南](think_like_computer/learning_data_structure_and_algorithm.md)
  - [学习数据结构和算法读什么书](think_like_computer/why_i_recommend_algs4.md)
  - [二叉堆详解实现优先级队列](data_structure/binary_heap_implements_priority_queues.md)
  - [LRU算法详解](interview/LRU_algorithm.md)
  - [二叉搜索树操作集锦](data_structure/The_Manipulation_Collection_of_Binary_Search_Tree.md)
  - [特殊数据结构：单调栈](data_structure/MonotonicStack.md)
  - [特殊数据结构：单调队列](data_structure/Monotonic_queue.md)
  - [设计Twitter](data_structure/design_Twitter.md)
  - [递归反转链表的一部分](data_structure/reverse_part_of_a_linked_list_via_recursion.md)
  - [队列实现栈\|栈实现队列](data_structure/ImplementQueueUsingStacksImplementStackUsingQueues.md)

# [第三章、算法思维系列]()
---
  - [算法学习之路](think_like_computer/ThewaytoAlgorithmlearning.md)
  - [回溯算法详解](think_like_computer/DetailsaboutBacktracking.md)
  - [回溯算法团灭排列、组合、子集问题](interview/Subset_Permutation_Combination.md)
  - [二分查找详解](think_like_computer/DetailedBinarySearch.md)
  - [双指针技巧总结](think_like_computer/double_pointer.md)
  - [滑动窗口技巧](think_like_computer/SlidingWindowTechnique.md)
  - [twoSum问题的核心思想](think_like_computer/The_key_to_resolving_TwoSum_problems.md)
  - [常用的位操作](think_like_computer/CommonBitManipulation.md)
  - [拆解复杂问题：实现计算器](data_structure/Implementing_the_functions_of_a_calculator.md)
  - [烧饼排序](think_like_computer/PancakesSorting.md)
  - [前缀和技巧](think_like_computer/prefix_sum.md)
  - [字符串乘法](think_like_computer/string_multiplication.md)
  - [FloodFill算法详解及应用](think_like_computer/flood_fill.md)
  - [区间调度之区间合并问题](think_like_computer/IntervalMerging.md)
  - [区间调度之区间交集问题](think_like_computer/IntervalIntersection.md)
  - [信封嵌套问题](think_like_computer/RussianDollEnvelopes.md)
  - [几个反直觉的概率问题](think_like_computer/several_counter_intuitive_probability_problems.md)
  - [洗牌算法](think_like_computer/Shuffle_Algorithm.md)
  - [递归详解](think_like_computer/RecursionInDetail.md)

# [第四章、高频面试系列]()
---
  - [如何实现LRU算法](interview/LRU_algorithm.md)
  - [如何高效寻找素数](interview/Print_PrimeNumbers.md)
  - [如何计算编辑距离](dynamic_programming/EditDistance.md)
  - [如何运用二分查找算法](interview/UsingBinarySearchAlgorithm.md)
  - [如何高效解决接雨水问题](interview/Trapping_Rain_Water.md)
  - [如何去除有序数组的重复元素](interview/RemoveDuplicatesfromSortedArray.md)
  - [如何寻找最长回文子串](interview/TheLongestPalindromicSubstring.md)
  - [如何k个一组反转链表](interview/reverse_nodes_in_k_group.md)
  - [如何判定括号合法性](interview/valid_parentheses.md)
  - [如何寻找消失的元素](interview/missing_elements.md)
  - [如何寻找缺失和重复的元素](interview/Find_Duplicate_and_Missing_Element.md)
  - [如何判断回文链表](interview/check_palindromic_linkedlist.md)
  - [如何在无限序列中随机抽取元素](interview/ReservoirSampling.md)
  - [如何调度考生的座位](interview/Seatscheduling.md)
  - [Union-Find算法详解](think_like_computer/Union_find_Explanation.md)
  - [Union-Find算法应用](think_like_computer/Union_find_Application.md)
  - [一行代码就能解决的算法题](interview/one_line_code_puzzles.md)
  - [二分查找高效判定子序列](interview/findSebesquenceWithBinarySearch.md)

# [第五章、计算机技术]()
---
  - [Linux的进程、线程、文件描述符是什么](common_knowledge/linuxProcess.md)
  - [一文看懂 session 和 cookie](common_knowledge/SessionAndCookie.md)
  - [关于 Linux shell 你必须知道的](common_knowledge/linuxshell.md)
  - [加密算法的前身今世](common_knowledge/Cryptology.md)
  - [Git/SQL/正则表达式的在线练习平台](common_knowledge/OnlinePraticePlatform.md)