hello-interview
hello-interview copied to clipboard
One algorithmic problem every day,Get rid of Rookies。/ 100 天摆脱算法小白
Algorithm - 100天摆脱算法小白
作者:小浩
说明:我曾发起一个项目 hello-algorithm,从上线到获得 8k star 只用了不到半个月的时间,且登上过 github trending 日榜榜首的位置。但是该项目在我看来却有一定局限性,由于资源性质过重,并不能让大家真正参与进来。同时,也没有系统的给出一套完整的算法训练步骤。在这样的背景下,我重新创建了现在这个项目:Algorithm-100-Days,期望可以提供一套完整的算法训练,并对每一节学习内容都提供了视频。
同时该项目也会尽可能的提供算法相关学习资料,包括但不限于:国内外优质算法算法视频(Youtube、Bilibili)、算法相关书籍下载(百度云)、算法面试题目汇总(leetcode、flag、bat)、算法题目源码解析(我会尽可能组织更多的人来提供代码以及代码分析)
最后:所有对该项目有兴趣的人,都可以参与进来,你的任何行为都可以使你成为 contributor。哪怕只是提供一个学习链接!
如何进行学习?
1、通过阅读文档,进行基础知识的学习。
2、通过文档下方的视频链接,进行内容巩固。
3、通过代码,进行提升。
如何运行代码:
第一步:安装依赖文件
npm install
第二步:测试单一文件
npm test -- 'LinkedList'
第三步:测试全部
npm test
提示
数据结构和算法的学习主要在于思想的掌握,并不需要纠结语言层面的东西。
难度 A:基础 B:进阶
学习目录 | 难度 | 描述 |
---|---|---|
01.数据结构和算法的重要性 | A | |
02.链表 | A | |
03.双向链表 | A | |
04.队列 | A | |
05.栈 | A | |
06.哈希表 | A | |
07.堆 | A | |
08.优先队列 | B | |
09.字典树 | B | |
10.树 | A | |
11.二叉搜索树 | A | |
12.AVL树 | B | |
13.红黑树 | B | |
14.树状数组 | B | |
15.图 | A | |
16.并查集 | B | |
17.布隆过滤器 | B | |
18.笛卡尔积 | ||
19.洗牌算法 | ||
20.子集 | ||
21.排列 | ||
22.组合 | ||
23.最长公共子序列 | ||
24.最长递增子序列 | ||
25.最短公共父序列 | ||
26.背包问题 | ||
27.最大子数列问题 | ||
28.组合求和 | ||
29.汉明距离 | ||
30.莱温斯坦距离 | ||
31.KMP | ||
32.Sun./Day | ||
33.字符串快速查找 | ||
34.Rabin Karp 算法 | ||
35.最长公共子串 | ||
36.正则表达式匹配 | ||
37.线性搜索 | ||
38.跳转搜索 | ||
39.二分查找 | ||
40.插值搜索 | ||
41.冒泡排序 | ||
42.选择排序 | ||
43.插入排序 | ||
44.堆排序 | ||
45.归并排序 | ||
46.快速排序 | ||
47.希尔排序 | ||
48.计数排序 | ||
49.基数排序 | ||
50.链表遍历 | ||
51.链表反转 | ||
52.树的深搜 | ||
53.树的广搜 | ||
54.图的深搜 | ||
55.图的广搜 | ||
56.寻找加权无向图的最小生成树 | ||
57.找到图中所有顶点的最短路径 | ||
58.找到所有顶点对之间的最短路径 | ||
59.判圈算法 | ||
60.寻找加权无向图的最小生成树 | ||
61.拓扑排序 | ||
62.Tarjan算法 | ||
63.Fleury算法 | ||
64.哈密顿图 | ||
65.旅行推销员问题 | ||
70.欧几里得算法 | ||
71.最小公倍数 | ||
72.素数筛 | ||
73.判断2次方数 | ||
74.杨辉三角形 | ||
75.复数 | ||
76.弧度和角 | ||
77.位操作 | ||
78.阶乘 | ||
79.斐波那契数 | ||
80.素数检测 | ||
81.LRU算法 | ||
82.八皇后问题 | ||
83.骑士巡逻 | ||
84.递归楼梯 | ||
85.旋转矩阵 | ||
86.跳跃游戏 | ||
87.雨水收集 | ||
88.汉诺塔 | ||
89.递推DP | ||
90.背包九讲 | ||
91.LIS | ||
92.LCS | ||
93.区间DP | ||
94.树形DP | ||
95.数位DP | ||
96.概率DP | ||
97.状压DP | ||
98.结构DP | ||
99.DP总结 | ||
100.毕业证书 |