提交 93dd7bb4 编写于 作者: L labuladong

写出英文版目录

上级 05164ed6
感谢各位老铁前来参与翻译!
Englis translation is still processing... Some article are still Chinese, but most are completed, just enjoy.
请 clone 最新的 `english` 分支,请查看 [已关闭的 pull request](https://github.com/labuladong/fucking-algorithm/pulls?q=is%3Apr+is%3Aclosed) 确保你准备翻译的文章暂时没有英文版本。
These articles are somehow kinds of **Algorithmic Thinking**. All based on LeetCode problems, but NOT only the code of solution, but also **why** writing code this way, **how** we figure it out.
翻译完成后,请删除文末的公众号二维码。对于第一个提交的翻译版本,你可以在文章开头的**一级标题下方**添加作者和翻译者:
I don't like one liner but confusing, I like clear and easy-understand.
**Translator: [YourName](https://github.com/YourName)**
**Author: [labuladong](https://github.com/labuladong)**
# Table of Content
你的链接可以指向任何你希望的地方。
* I. High Frequency Interview Problem
* [How to Implement LRU Cache](interview/LRU_algorithm.md)
* [How to Find Prime Number Efficiently](interview/Print_PrimeNumbers.md)
* [How to Calculate Minimium Edit Distance](dynamic_programming/EditDistance.md)
* [How to Solve Drop Water Problem](interview/Trapping_Rain_Water.md)
* [How to Remove Duplicate From Sorted Sequence](interview/RemoveDuplicatesfromSortedArray.md)
* [How to Find Longest Palindromic Substring](interview/TheLongestPalindromicSubstring.md)
* [How to Reverse Linked List in K Group](interview/reverse-nodes-in-k-group.md)
* [How to Check the Validation of Parenthesis](interview/valid-parentheses.md)
* [How to Find Missing Element](interview/missing_elements.md)
* [How to Pick Elements From a Arbitrary Sequence](interview/Reservoir%20Sampling.md)
* [How to Scheduling Seats](interview/Seatscheduling.md)
* [Union-Find Algorithm in Detail](think_like_computer/Union-find-Explanation.md)
* [Union-Find Application](think_like_computer/Union-Find-Application.md)
* [如何运用二分查找算法](高频面试系列/koko偷香蕉.md)
* [如何寻找缺失和重复的元素](高频面试系列/缺失和重复的元素.md)
* [如何判断回文链表](高频面试系列/判断回文链表.md)
* [一行代码就能解决的算法题](高频面试系列/一行代码解决的智力题.md)
* [二分查找高效判定子序列](高频面试系列/二分查找判定子序列.md)
* II. Data Structure
* [Binary Head and Priority Queue](data_structure/binary_heap_implements_priority_queues.md)
* [LRU Cache Strategy in Detial](interview/LRU_algorithm.md)
* [Collections of Binary Search Operations](data_structure/The_Manipulation_Collection_of_Binary_Search_Tree.md)
* [Special Data Structure: Monotonic Stack](data_structure/MonotonicStack.md)
* [Special Data Structure: Monotonic Stack](data_structure/Monotonic_queue.md)
* [Design Twitter](data_structure/design_Twitter.md)
* [Reverse Part of Linked List via Recursion](data_structure/reverse_part_of_a_linked_list_via_recursion.md)
* [Queue Implement Stack/Stack implement Queue](data_structure/ImplementQueueUsingStacksImplementStackUsingQueues.md)
* [学习算法和刷题的思路指南](算法思维系列/学习数据结构和算法的高效方法.md)
* [学习数据结构和算法读什么书](算法思维系列/为什么推荐算法4.md)
### 翻译约定
* III. Algorithmic thinking
* [My Way to Learn Algorithm](think_like_computer/ThewaytoAlgorithmlearning.md)
* [The Framwork of Backtracking Algorithm](think_like_computer/DetailsaboutBacktracking.md)
* [Binary Search in Detial](think_like_computer/Detailed%20Binary%20Search.md)
* [The Tech of Double Pointer](think_like_computer/double_pointer.md)
* [The Key Concept of TowSum Problems](think_like_computer/The_key_to_resolving_TwoSum_problems.md)
* [Divide Complicated Problem: Implement a Calculator](data_structure/Implementing_the_functions_of_a_calculator.md)
* [Prefix Sum Skill](think_like_computer/prefix_sum.md)
* [FloodFill Algorithm in Detail](think_like_computer/flood_fill.md)
* [Interval Scheduling: Interval Merging](think_like_computer/Interval%20Problem%20(II)%20Interval%20Merging.md)
* [Interval Scheduling: Intersections of Intervals](think_like_computer/Interval%20Problem%20(III)%20Interval%20Intersection.md)
* [烧饼排序](算法思维系列/烧饼排序.md)
* [滑动窗口技巧](算法思维系列/滑动窗口技巧.md)
* [字符串乘法](算法思维系列/字符串乘法.md)
* [常用的位操作](算法思维系列/常用的位操作.md)
* [信封嵌套问题](算法思维系列/信封嵌套问题.md)
* [回溯算法团灭排列、组合、子集问题](高频面试系列/子集排列组合.md)
* [几个反直觉的概率问题](算法思维系列/几个反直觉的概率问题.md)
* [洗牌算法](算法思维系列/洗牌算法.md)
* [递归详解](算法思维系列/递归详解.md)
1、翻译首先要通顺,符合英文的语法,对基本的专业术语应该做到正确地使用,诸如 Queue, stack, binary tree 等,这种词语用错会让人很迷惑。对于不容易翻译出来的中文,可以按你的理解修改。翻译完成后一定要用工具检查一下基本语法,**比如将你的英文文本粘贴到 Word 中,查看是否有基本的语法错误**
* IV. Dynamic Programming
* [Classic DP: Edit Distance](dynamic_programming/EditDistance.md)
* [Classic DP: Super Egg](dynamic_programming/Throwing%20Eggs%20in%20High%20Buildings.md)
* [Classic DP: Super Egg(Advanced Solution)](dynamic_programming/SuperEggDrop(Advanced).md)
* [Class DP: Longest Common Subsequence](dynamic_programming/LongestCommonSubsequence.md)
* [Classis DP: Game Problems](dynamic_programming/GameProblemsInDynamicProgramming%20.md)
* [Regular Expression](dynamic_programming/RegularExpression.md)
* [The Strategies of Subsequence Problem](dynamic_programming/StrategiesForSubsequenceProblem.md)
* [Greedy: Interval Scheduling](dynamic_programming/Interval%20Problem%20(I)%20Interval%20Scheduling.md)
* [动态规划详解](动态规划系列/动态规划详解进阶.md)
* [动态规划答疑篇](动态规划系列/最优子结构.md)
* [动态规划设计:最长递增子序列](动态规划系列/动态规划设计:最长递增子序列.md)
* [动态规划之KMP字符匹配算法](动态规划系列/动态规划之KMP字符匹配算法.md)
* [团灭 LeetCode 股票买卖问题](动态规划系列/团灭股票问题.md)
* [团灭 LeetCode 打家劫舍问题](动态规划系列/抢房子.md)
* [动态规划之四键键盘](动态规划系列/动态规划之四键键盘.md)
2、**所有内容应以 `master` 分支为准**,因为 `english` 分支仅作为翻译,不会更新文章。所以如果你发现 `master` 中的某一篇文章在 `english` 分支中不存在或有冲突,以 `master` 分支中的 md 文件为准进行翻译,别忘了把相关图片文件夹加入 `english` 分支。
3、**加粗等信息需要保留,同时鼓励扩展自己的知识**,增加参考文献,将重要知识点添加粗体或使用英语(或其他语言)特有的表达形式来表达某些思想。
4、对于图片,很少包含汉字,如果不影响理解,比如图片右下角的公众号水印,就不必修改了。**如果汉字涉及算法理解,需要把图片一同修改了**,把汉字抹掉换成英文,或者汉字比较少的话,在汉字旁添加对应英文。**对于一些描述题目的图片**,都是我在中文版 LeetCode 上截的图,你可以去英文版 LeetCode 上寻找对应题目截图替换,如果不知道是哪一题,可以在 issue 留言我给你找。原中文 md 文件需要删除。
5、**保持原有的目录结构,但文件和文件夹的名称应改为英文**,md 文件的名称根据具体文章内容修改成恰当的英文(文件名不要带空格),文章引用的图片路径有时也会包含中文,需要你将装有该图片的文件夹改成适当的英文。**翻译完成后需要删除原中文的 md 文件**,如增加了英文版图片,也应该把中文原版的图片删除。
6、**只处理在 issue 中约定的文章(和相关的图片),不要动其他任何的内容**,否则后续你对主仓库提交成果的时候,容易出现冲突。如果出现冲突,你需要先想办法使用 Git 工具解决本地仓库和主仓库的版本冲突才能提交 pull request,练习 Git 的使用是非常重要的。
其实咱们刷的算法题都没有什么特别生僻的英文单词,而且很多歪果仁母语也不一定是英文。Google Translator 翻译带点术语(栈、队列这种)的文章效果很差,甚至代码都给你翻译,所以不要害怕,勇敢地翻就行了,我们会在一次次迭代中慢慢变好的~
PS:另外再强调一下,不要修改 issue 中约定的之外的文章,这样你的 pr 就不会产生冲突。提交你的分支也需要提交到 `english` 分支,不要向 `master` 分支提交任何修改。
**Become a contributor, 奥利给**
* V. Common Knowledge
* [Difference Between Process and Thread in Linux](common_knowledge/linuxProcess.md)
* [You Must Know About Linux Shell](common_knowledge/linuxshell.md)
* [You Must Know About Cookie and Session](common_knowledge/SessionAndCookie.md)
* [加密算法的前身今世](技术/密码技术.md)
* [Git/SQL/正则表达式的在线练习平台](技术/在线练习平台.md)
# Table of Content
* I. High Frequency Interview Problem
* [How to Implement LRU Cache](interview/LRU_algorithm.md)
* [How to Find Prime Number Efficiently](interview/Print_PrimeNumbers.md)
* [How to Calculate Minimium Edit Distance](dynamic_programming/EditDistance.md)
* [How to Solve Drop Water Problem](interview/Trapping_Rain_Water.md)
* [How to Remove Duplicate From Sorted Sequence](interview/RemoveDuplicatesfromSortedArray.md)
* [How to Find Longest Palindromic Substring](interview/TheLongestPalindromicSubstring.md)
* [How to Reverse Linked List in K Group](interview/reverse-nodes-in-k-group.md)
* [How to Check the Validation of Parenthesis](interview/valid-parentheses.md)
* [How to Find Missing Element](interview/missing_elements.md)
* [How to Pick Elements From a Arbitrary Sequence](interview/Reservoir%20Sampling.md)
* [How to Scheduling Seats](interview/Seatscheduling.md)
* [Union-Find Algorithm in Detail](think_like_computer/Union-find-Explanation.md)
* [Union-Find Application](think_like_computer/Union-Find-Application.md)
* [如何运用二分查找算法](高频面试系列/koko偷香蕉.md)
* [如何寻找缺失和重复的元素](高频面试系列/缺失和重复的元素.md)
* [如何判断回文链表](高频面试系列/判断回文链表.md)
* [一行代码就能解决的算法题](高频面试系列/一行代码解决的智力题.md)
* [二分查找高效判定子序列](高频面试系列/二分查找判定子序列.md)
* II. Data Structure
* [Binary Head and Priority Queue](data_structure/binary_heap_implements_priority_queues.md)
* [LRU Cache Strategy in Detial](interview/LRU_algorithm.md)
* [Collections of Binary Search Operations](data_structure/The_Manipulation_Collection_of_Binary_Search_Tree.md)
* [Special Data Structure: Monotonic Stack](data_structure/MonotonicStack.md)
* [Special Data Structure: Monotonic Stack](data_structure/Monotonic_queue.md)
* [Design Twitter](data_structure/design_Twitter.md)
* [Reverse Part of Linked List via Recursion](data_structure/reverse_part_of_a_linked_list_via_recursion.md)
* [Queue Implement Stack/Stack implement Queue](data_structure/ImplementQueueUsingStacksImplementStackUsingQueues.md)
* [学习算法和刷题的思路指南](算法思维系列/学习数据结构和算法的高效方法.md)
* [学习数据结构和算法读什么书](算法思维系列/为什么推荐算法4.md)
* III. Algorithmic thinking
* [My Way to Learn Algorithm](think_like_computer/ThewaytoAlgorithmlearning.md)
* [The Framwork of Backtracking Algorithm](think_like_computer/DetailsaboutBacktracking.md)
* [Binary Search in Detial](think_like_computer/Detailed%20Binary%20Search.md)
* [The Tech of Double Pointer](think_like_computer/double_pointer.md)
* [The Key Concept of TowSum Problems](think_like_computer/The_key_to_resolving_TwoSum_problems.md)
* [Divide Complicated Problem: Implement a Calculator](data_structure/Implementing_the_functions_of_a_calculator.md)
* [Prefix Sum Skill](think_like_computer/prefix_sum.md)
* [FloodFill Algorithm in Detail](think_like_computer/flood_fill.md)
* [Interval Scheduling: Interval Merging](think_like_computer/Interval%20Problem%20(II)%20Interval%20Merging.md)
* [Interval Scheduling: Intersections of Intervals](think_like_computer/Interval%20Problem%20(III)%20Interval%20Intersection.md)
* [烧饼排序](算法思维系列/烧饼排序.md)
* [滑动窗口技巧](算法思维系列/滑动窗口技巧.md)
* [字符串乘法](算法思维系列/字符串乘法.md)
* [常用的位操作](算法思维系列/常用的位操作.md)
* [信封嵌套问题](算法思维系列/信封嵌套问题.md)
* [回溯算法团灭排列、组合、子集问题](高频面试系列/子集排列组合.md)
* [几个反直觉的概率问题](算法思维系列/几个反直觉的概率问题.md)
* [洗牌算法](算法思维系列/洗牌算法.md)
* [递归详解](算法思维系列/递归详解.md)
* IV. Dynamic Programming
* [Classic DP: Edit Distance](dynamic_programming/EditDistance.md)
* [Classic DP: Super Egg](dynamic_programming/Throwing%20Eggs%20in%20High%20Buildings.md)
* [Classic DP: Super Egg(Advanced Solution)](dynamic_programming/SuperEggDrop(Advanced).md)
* [Class DP: Longest Common Subsequence](dynamic_programming/LongestCommonSubsequence.md)
* [Classis DP: Game Problems](dynamic_programming/GameProblemsInDynamicProgramming%20.md)
* [Regular Expression](dynamic_programming/RegularExpression.md)
* [The Strategies of Subsequence Problem](dynamic_programming/StrategiesForSubsequenceProblem.md)
* [Greedy: Interval Scheduling](dynamic_programming/Interval%20Problem%20(I)%20Interval%20Scheduling.md)
* [动态规划详解](动态规划系列/动态规划详解进阶.md)
* [动态规划答疑篇](动态规划系列/最优子结构.md)
* [动态规划设计:最长递增子序列](动态规划系列/动态规划设计:最长递增子序列.md)
* [动态规划之KMP字符匹配算法](动态规划系列/动态规划之KMP字符匹配算法.md)
* [团灭 LeetCode 股票买卖问题](动态规划系列/团灭股票问题.md)
* [团灭 LeetCode 打家劫舍问题](动态规划系列/抢房子.md)
* [动态规划之四键键盘](动态规划系列/动态规划之四键键盘.md)
* V. Common Knowledge
* [Difference Between Process and Thread in Linux](common_knowledge/linuxProcess.md)
* [You Must Know About Linux Shell](common_knowledge/linuxshell.md)
* [You Must Know About Cookie and Session](common_knowledge/SessionAndCookie.md)
* [加密算法的前身今世](技术/密码技术.md)
* [Git/SQL/正则表达式的在线练习平台](技术/在线练习平台.md)
\ No newline at end of file
......@@ -4,7 +4,7 @@
**Author**:[labuladong](https://github.com/labuladong)
In the previous article about [framework thinking](../think_like_computer/学习数据结构和算法的高效方法.md), we introduced the traverse framework of the binary tree. There should be a deep impression of this framework left in your mind. In this article, we will put the framework into practice and illustrate how does it flexible resolve all issues about the binary tree.
In the previous article about [framework thinking](../algorithmic_thinking/学习数据结构和算法的高效方法.md), we introduced the traverse framework of the binary tree. There should be a deep impression of this framework left in your mind. In this article, we will put the framework into practice and illustrate how does it flexible resolve all issues about the binary tree.
The basic idea of binary tree algorithm design: Defining the manipulation in the current node and the last things are thrown to the framework.
......
参见 [README.md](README.md)
\ No newline at end of file
感谢各位老铁前来参与翻译!
请 clone 最新的 `english` 分支,请查看 [已关闭的 pull request](https://github.com/labuladong/fucking-algorithm/pulls?q=is%3Apr+is%3Aclosed) 确保你准备翻译的文章暂时没有英文版本。
翻译完成后,请删除文末的公众号二维码。对于第一个提交的翻译版本,你可以在文章开头的**一级标题下方**添加作者和翻译者:
**Translator: [YourName](https://github.com/YourName)**
**Author: [labuladong](https://github.com/labuladong)**
你的链接可以指向任何你希望的地方。
### 翻译约定
1、翻译首先要通顺,符合英文的语法,对基本的专业术语应该做到正确地使用,诸如 Queue, stack, binary tree 等,这种词语用错会让人很迷惑。对于不容易翻译出来的中文,可以按你的理解修改。翻译完成后一定要用工具检查一下基本语法,**比如将你的英文文本粘贴到 Word 中,查看是否有基本的语法错误**
2、**所有内容应以 `master` 分支为准**,因为 `english` 分支仅作为翻译,不会更新文章。所以如果你发现 `master` 中的某一篇文章在 `english` 分支中不存在或有冲突,以 `master` 分支中的 md 文件为准进行翻译,别忘了把相关图片文件夹加入 `english` 分支。
3、**加粗等信息需要保留,同时鼓励扩展自己的知识**,增加参考文献,将重要知识点添加粗体或使用英语(或其他语言)特有的表达形式来表达某些思想。
4、对于图片,很少包含汉字,如果不影响理解,比如图片右下角的公众号水印,就不必修改了。**如果汉字涉及算法理解,需要把图片一同修改了**,把汉字抹掉换成英文,或者汉字比较少的话,在汉字旁添加对应英文。**对于一些描述题目的图片**,都是我在中文版 LeetCode 上截的图,你可以去英文版 LeetCode 上寻找对应题目截图替换,如果不知道是哪一题,可以在 issue 留言我给你找。原中文 md 文件需要删除。
5、**保持原有的目录结构,但文件和文件夹的名称应改为英文**,md 文件的名称根据具体文章内容修改成恰当的英文(文件名不要带空格),文章引用的图片路径有时也会包含中文,需要你将装有该图片的文件夹改成适当的英文。**翻译完成后需要删除原中文的 md 文件**,如增加了英文版图片,也应该把中文原版的图片删除。
6、**只处理在 issue 中约定的文章(和相关的图片),不要动其他任何的内容**,否则后续你对主仓库提交成果的时候,容易出现冲突。如果出现冲突,你需要先想办法使用 Git 工具解决本地仓库和主仓库的版本冲突才能提交 pull request,练习 Git 的使用是非常重要的。
其实咱们刷的算法题都没有什么特别生僻的英文单词,而且很多歪果仁母语也不一定是英文。Google Translator 翻译带点术语(栈、队列这种)的文章效果很差,甚至代码都给你翻译,所以不要害怕,勇敢地翻就行了,我们会在一次次迭代中慢慢变好的~
PS:另外再强调一下,不要修改 issue 中约定的之外的文章,这样你的 pr 就不会产生冲突。提交你的分支也需要提交到 `english` 分支,不要向 `master` 分支提交任何修改。
**Become a contributor, 奥利给**
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册