公开学习:Python 中的数据结构和算法
我目前正在努力提高数据结构和算法的熟练程度——为了面试,也为了成为一名更好的工程师。
在接下来的几周和几个月里,我将与大家分享我一路走来的心得体会。内容包括:
- 数据结构与算法的理论与应用。
- 我的面试经验、技巧和窍门。
- 您可以利用我们所学到的知识来解决有趣的问题。
❗️请在下面的评论中分享您推荐的任何其他资源以及我忘记添加的主题!
学习方法
我热爱学习,但学习效率不高。我擅长“消化”知识,比如上课、做辅导。但如果你让我解释我学到了什么,我肯定说不出来。我会说“只是一时想不起来”,但说实话,我从来不会努力把知识点存入长期记忆。
这次会有所不同,我将利用以下两种策略来提高我对所学知识的记忆:
资源列表
现在,让我们先来总结一下资源,并列出接下来几周和几个月将要讨论的主题。
这并不是 WWW 上所有可用资源的详尽列表,而是我认为有趣的课程和我拥有的书籍的列表。
图例表明我所在的位置:
❗️:目前正在进行
✅:已完成
💤:已完成,但需要复习
这是一个动态列表,这意味着我将在处理材料时回来并更新它。
数据结构与算法课程
- Coursera
- Udacity
图书
网站
- CodeSignal❗️
- Pramp,这些都是真人模拟面试。你可以体验两种角色:既是面试官,也是面试你的同事。
内容
- 分析算法
- 渐近符号
- 摊销分析
- 概率分析与随机算法
- 数据结构
- 数组和链表❗️
- 堆栈和队列
- 哈希表
- 树木
- 二叉搜索树
- 红黑树
- B树
- 二项式树和二项式堆
- 斐波那契堆
- 不相交集的数据结构
- 递归
- 排序和顺序算法
- 堆排序
- 快速排序
- 线性时间排序
- 图算法
- 广度优先搜索(BFS)
- 深度优先搜索(DFS)
- 拓扑排序
- 最小生成树
- 单源最短路径
- 所有对最短路径
- 最大流量
- 动态规划
- 贪婪算法
- 线性规划
- 排序网络
- 矩阵运算
- 多项式和FFT
- 数论算法
- 字符串匹配
- 计算几何
- NP完全性
- 近似算法
- 地图与哈希
- 特里斯
- 堆
- 分而治之
- 一个*