数据结构和算法的完美路线图
数据结构和算法的完美路线图
根据我在学习 DSA 时的经验制作此列表
我试图特别为想要进入 DSA 的初学者说清楚
学习编程语言
→ 获得至少一门知识 编程语言
→ 学习该编程语言的基础知识。 Ex = 变量、运算符、条件语句、循环、函数/方法、作用域、…………
→ 最佳学习编程语言 数据结构和算法 是
➵ 蟒蛇
➵ 爪哇
➵ Cpp/C
➵ C#
这取决于您选择编程语言
我的建议是使用 Python/java/c#。 Java/c#,因为它们有一个垃圾收集器,可以更轻松地处理内存。
⌛ ⏳ 学习复杂性
您如何判断您编写的程序是否有效?
是的,这是根据复杂性来衡量的
⏰ 时间复杂度:-
它测量代码执行时间。
时间复杂度显示了您的代码的优化程度,这使您的代码更好,并使代码运行得更快。
空间复杂度:-
它是运行代码所需的空间量。
空间复杂度 也使您的代码更加优化。
⭐ 以下是三个最常见的列表 渐近符号 用于表示算法的时间复杂度
○ 大 O 表示法:它描述了最坏的情况
哦 Omega Notation:它描述了最好的情况
Θ Theta Notation:描述算法的平均复杂度
学习 DSA
DSA 详细介绍了如何解决常见问题,并让您了解每个解决方案的有效性。
- 数组
- 递归和回溯
- 链表
- 堆栈
- 尾巴
- 树木
- 特权队列和堆
- HashTable、HashMap、HashSet [散列]
- 不相交集 ADT
- 图表
- 排序算法
- 搜索算法
- 选择算法
- 符号表
- 字符串算法
- 贪心算法
- 分而治之
- 动态规划
✏️练习
现在我们已经完成了最重要的数据结构和算法的基础知识,是时候将这些概念付诸实践并简要介绍一下了。
练习 DSA 的网站
通过竞争成为职业选手
现在是检验您的知识和有效性的时候了。最有效的策略是与其他人竞争,看看究竟在哪里脱颖而出并进一步即兴发挥。
这将帮助您确定与其他人相比您所处的位置,并且还将为您提供一些关于您不足的领域的洞察力。
资源
感谢阅读
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明