趁周末,给大家(程序员)推荐一本内功修炼入门秘籍:https://www.hello-algo.com/, 其内容浅显易懂,很多插图,涵盖各种语言的程序,堪称入门精通的典范。
之前介绍过编程语言入门的网站:https://www.runoob.com/cprogramming/c-tutorial.html ,编程语言入门后就是算法了,或者说是大学本科的一门课:《数据结构》。
1. 学习算法有什么好处
首先面试的时候会有用,但是其是大多数认为的脱离实际工作的鸡肋不?这就像问你数学有用不,每个人的答案不一样。科学和技术的区别也像内功心法和招式的区别,在代码程序中能总结出来称为科学的东西就算是算法了吧,首先其能锻炼编程思维,有助于增长创造力,要不怎么说聪明的人擅长算法。
首先要对算法有个正确的认识:
- 在计算机科学中,算法是一个核心概念。无论是开发应用程序、网站还是其他软件,都需要使用算法来解决问题。
- 算法可以提高编程效率。掌握算法可以帮助程序员更快地编写有效的代码,减少错误和冗余代码,并改善程序的性能。
- 学习算法可以提高问题解决能力。通过学习算法,可以培养出分析和解决问题的能力,这些技能在日常生活和职业中都非常有用。
- 算法是进一步学习和研究计算机科学的基础。学习算法可以为进一步学习计算机科学、人工智能、机器学习等高级主题打下坚实的基础。
可能会算法的人工作中不会给你说这些,但是你跟高手的差距也可能是这些,说科班受过系统的训练就是这种算法类似的东西。甚至你可以学下试试,如果学不会或者不擅长,那可能作为程序员的潜力受限了。
当你解决一个算法而兴奋,深陷其中无法自拔,或者为其精妙惊叹的时候,你还真是个程序员的料,李云龙说那句:你真tm是个天才。
如果你用不到算法,努力通过各种途径用到它,让你自己进步!
2. Hello 算法网站简介
首先是插图,我们以二叉树章节为例:
然后就是编码的多语言支持:
对于算法的分析:
后记:
https://www.hello-algo.com/ 这个网站的算法内容也比较多,高深一些的也有,可以学习完去牛客或者leetCode上做题试试。学习算法的过程很艰辛,在学校还好,毕业后大多数人都丢了,适合对自己要求高的人,可以搞搞。
“啥都懂一点,啥都不精通,
干啥都能干,干啥啥不是,
专业入门劝退,堪称程序员杂家”。
后续会继续更新,纯干货分析,欢迎分享给朋友,欢迎评论交流!