Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
AmazingFox
Fucking Algorithm
提交
d1273c01
F
Fucking Algorithm
项目概览
AmazingFox
/
Fucking Algorithm
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
Fucking Algorithm
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d1273c01
编写于
2月 26, 2020
作者:
L
labuladong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改 bug
上级
1c32e17a
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
33 addition
and
13 deletion
+33
-13
README.md
README.md
+18
-10
技术/linux进程.md
技术/linux进程.md
+14
-2
数据结构系列/二叉搜索树操作集锦.md
数据结构系列/二叉搜索树操作集锦.md
+1
-1
未找到文件。
README.md
浏览文件 @
d1273c01
# 一、前言
我曾经尝试在网上有不少学习算法的资料,但真的让我挺无语,要么就是太零散,要么就是笔记性质别人都看不懂。我这个纯靠自学的小童鞋,花了一年时间自己写一份算法小抄,总共
**60 多篇原创文章**
,够通俗,绝不是简单的代码堆砌,下面有目录,质量如何,这里就不废话了。
本仓库总共 60 多篇原创文章,基本上都是基于 LeetCode 的题目,涵盖了所有题型和技巧,而且一定要做到
**举一反三,通俗易懂**
,绝不是简单的代码堆砌,后面有目录。
我先吐槽几句。
**刷题刷题,刷的是题,培养的是思维,本仓库的目的就是传递这种算法思维**
。我要是只写一个包含 LeetCode 题目代码的仓库,有个锤子用?没有思路解释,没有思维框架,顶多写个时间复杂度,那玩意一眼就能看出来。
只想要答案的话很容易,题目评论区五花八门的答案,动不动就秀 python 一行代码解决,有那么多人点赞。问题是,你去做算法题,是去学习编程语言的奇技淫巧的,还是学习算法思维的呢?你的快乐,到底源自复制别人的一行代码通过测试,已完成题目 +1,还是源自自己通过逻辑推理和算法框架不看答案写出解法?
网上总有大佬喷我,说我写这玩意太基础了,根本没必要啰嗦。我只能说大家刷算法就是找工作吃饭的,不是打竞赛的,我也是一路摸爬滚打过来的,我们要的是清楚明白有所得,不是故弄玄虚无所指。不想办法做到通俗易懂,难道要上来先把《算法导论》吹上天,然后把人家都心怀敬仰地劝退?别的不说,公众号几万读者,PDF 版本上万次下载,联系我的出版社都好几家,说明质量还过得去吧?
**做啥事情做多了,都能发现套路的,我把各种算法套路框架总结出来,相信可以帮助其他人少走弯路**
。我这个纯靠自学的小童鞋,花了一年时间刷题和总结,自己写了一份算法小抄,后面有目录,这里就不废话了。
### 使用方法
1、
**先给本仓库点个 star,满足一下我的虚荣心**
,文章质量绝对值你一个 star,给我一点继续写文的动力,感谢。
1、
**先给本仓库点个 star,满足一下我的虚荣心**
,文章质量绝对值你一个 star
。我还在继续创作
,给我一点继续写文的动力,感谢。
2、可以在我的 gitbook 上直接查看所有文章,会
同步持续更新
,建议收藏。地址:https://labuladong.gitbook.io/algo
2、可以在我的 gitbook 上直接查看所有文章,会
和公众号同步持续更新文章
,建议收藏。地址:https://labuladong.gitbook.io/algo
3、可以关注我的公众号
**labuladong**
,我就是不喜欢转载乱七八糟的低质文章,
**坚持原创,全是高质量原创,说是最良心最硬核的算法
公众号都不为过**
。
3、可以关注我的公众号
**labuladong**
及时获取更新。我不喜欢转载乱七八糟的低质文章,
**坚持高质量原创,说是最良心最硬核的技术
公众号都不为过**
。
这些文章就是从公众号里整理出来的,目前主要发文平台是微信公众号,公众号后台回复关键词【电子书】可以获得这份小抄的电子书版本,方便你做笔记:
...
...
@@ -19,14 +27,14 @@
# 二、文章目录
*
第零章、必读系列
*
[
学习算法和刷题的
思路指南
](
算法思维系列/学习数据结构和算法的高效方法.md
)
*
[
学习算法和刷题的
框架思维
](
算法思维系列/学习数据结构和算法的高效方法.md
)
*
[
学习数据结构和算法读什么书
](
算法思维系列/为什么推荐算法4.md
)
*
[
动态规划
详解
](
动态规划系列/动态规划详解进阶.md
)
*
[
动态规划
解题框架
](
动态规划系列/动态规划详解进阶.md
)
*
[
动态规划答疑篇
](
动态规划系列/最优子结构.md
)
*
[
回溯算法
详解
](
算法思维系列/回溯算法详解修订版.md
)
*
[
二分查找
详解
](
算法思维系列/二分查找详解.md
)
*
[
双指针技巧总结
](
算法思维系列/双指针
技巧.md
)
*
[
滑动窗口技巧
](
算法思维系列/滑动窗口
技巧.md
)
*
[
回溯算法
解题框架
](
算法思维系列/回溯算法详解修订版.md
)
*
[
二分查找
解题框架
](
算法思维系列/二分查找详解.md
)
*
[
滑动窗口解题框架
](
算法思维系列/滑动窗口
技巧.md
)
*
[
双指针技巧解题框架
](
算法思维系列/双指针
技巧.md
)
*
[
Linux的进程、线程、文件描述符是什么
](
技术/linux进程.md
)
*
[
Git/SQL/正则表达式的在线练习平台
](
技术/在线练习平台.md
)
*
第一章、动态规划系列
...
...
技术/linux进程.md
浏览文件 @
d1273c01
...
...
@@ -65,16 +65,28 @@ PS:不要忘了,Linux 中一切都被抽象成文件,设备也是文件,
明白了这个原理,
**输入重定向**
就很好理解了,程序想读取数据的时候就会去
`files[0]`
读取,所以我们只要把
`files[0]`
指向一个文件,那么程序就会从这个文件中读取数据,而不是从键盘:
![](
../pictures/linuxProcess/4.jpg
)
```
shell
$
command
< file.txt
```
![](
../pictures/linuxProcess/5.jpg
)
同理,
**输出重定向**
就是把
`files[1]`
指向一个文件,那么程序的输出就不会写入到显示器,而是写入到这个文件中:
![](
../pictures/linuxProcess/5.jpg
)
```
shell
$
command
>
file.txt
```
![](
../pictures/linuxProcess/4.jpg
)
错误重定向也是一样的,就不再赘述。
**管道符**
其实也是异曲同工,把一个进程的输出流和另一个进程的输入流接起一条「管道」,数据就在其中传递,不得不说这种设计思想真的很优美:
```
shell
$
cmd1 | cmd2 | cmd3
```
![](
../pictures/linuxProcess/6.jpg
)
到这里,你可能也看出「Linux 中一切皆文件」设计思路的高明了,不管是设备、另一个进程、socket 套接字还是真正的文件,全部都可以读写,统一装进一个简单的
`files`
数组,进程通过简单的文件描述符访问相应资源,具体细节交于操作系统,有效解耦,优美高效。
...
...
数据结构系列/二叉搜索树操作集锦.md
浏览文件 @
d1273c01
# 二叉搜索树操作集锦
通过之前的文章
[
框架思维
](
../算法思维系列/学习数据结构和算法的
框架思维
.md
)
,二叉树的遍历框架应该已经印到你的脑子里了,这篇文章就来实操一下,看看框架思维是怎么灵活运用,秒杀一切二叉树问题的。
通过之前的文章
[
框架思维
](
../算法思维系列/学习数据结构和算法的
高效方法
.md
)
,二叉树的遍历框架应该已经印到你的脑子里了,这篇文章就来实操一下,看看框架思维是怎么灵活运用,秒杀一切二叉树问题的。
二叉树算法的设计的总路线:明确一个节点要做的事情,然后剩下的事抛给框架。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录