是的,我这里不仅说的是数据结构,还有算法!
作为每一个学习计算机的大学生而言,最苦的莫过于学习数据结构与算法了,为啥啊?
明明知道数据结构和算法很重要,但是就是学不会,提到它就头大😂,头疼有木有……
不知道你是不是这样,反正我当初是这样,而且据我后来所知,好像大部分程序员都是这样😂。
我们刚开始上大学的时候学习数据结构与算法真的觉得很难?即使你很聪明,想必学习起来也有点吃力吧,我现在看来大致有如下两个原因导致我们大学的时候数据结构与算法学的都不好:
- 我们当时的知识面太窄,学习比较死板,不知道找各种辅助学习资料等,就觉得很难,自己搞不定。
大部分老师只管照着书本去讲解,不知道传授或者分享点其他的……
如此一来啊,我们毫不意外的在大学的时候就把数据结构和算法给落下了,当然,不乏那些学的好的,我们这些渣渣,只能看着他们校招进大厂,然后幻想他们走上人生巅峰,赢取白富美了……😍
其实吧,数据结构与算法本身而言确实是有难度的,但是嘞,只要我们肯下功夫,多花时间学习和练习,那学习数据结构与算法也是不成问题的,当然,如果再加上这些网站的加持,那你学好起来就会更加得心应手了😎
学算法必去的一个网站
首先有一个网站那是每一个学习数据结构与算法都必须去的网站,说出来你就知道了,那就是大名鼎鼎的LeetCode,就是它:https://leetcode.com/
因为这个网站实在牛杯,所以现在已经有了国内版也就是中文版“力扣”,你们打开https://leetcode.com/不出意外会自动跳转到这里:
中文版长这个样子的:点开探索给你看看
强烈人手一个啊!不骗你!
那些可视化网站
接下来就是在你学习数据结构与算法的道路上不得不知的几个可视化网站,啥意思嘞,我们在学习数据结构与算法的时候,之所以会觉得比较难,很大一部分是因为数据结构与算法比较抽象,我们理解起来比较困难,所以啊,理解数据结构与算法的一个最佳方法就是看看他们的实际用法,而这一点,我们可以通过一些可视化动画来强化我们的理解,以下的这些网站都是可以让你直观的观察数据结构与算的可视化网站。
Data Structure Visualizations
链接直达:Data Structure Visualizations
它张这个样子:
可能有人说看不懂了,没事,给你翻一下:
可能有人说不会用,没事给你简单演示下,比如二叉搜索树:
你可以自己试试,包准一用就会!
visualgo
链接直达:https://visualgo.net/zh
看着心动吗?我们继续看看其中的操作:
自己赶紧去试试吧!
BinaryTreeGraph
链接直达:http://520it.com/binarytrees/
这个主要是平衡树这块的可视化操作,我经常用这个网站,真的挺不错的,还有个对应的开源项目,是打印二叉树的,感兴趣的可以看看:https://github.com/CoderMJLee/BinaryTrees
BinaryTreeVisualiser
链接直达:http://btv.melezinek.cz/home.html
这个主要是二叉树相关的,比方说二叉搜索树,你看看,是这样的:
操作其实很简单的,你们可以去试试看!
btree-js
链接直达:https://yangez.github.io/btree-js/
这是一个专门演示B树的,也不错!
Algorithm Visualizer
链接直达:https://algorithm-visualizer.org/
这是我比较喜欢的一个,这可是个牛杯的家伙,给你们看看:
是不是看起来很专业的样子,哈哈,翻译一下再看看:
看出来了吧,这主要是个算法可视化网站,主要就是讲解各种算法的,真的很棒,它可是支持代码的,有js,java和c++,比如我这里的java
然后就会在右边出现相关的java代码:
然后我们可以点击这里运行:
就问你强不强大,赶紧去试试吧!
算法分析相关网站
bigocheatsheet
链接直达:https://www.bigocheatsheet.com/
就给你这个图应该知道它是干嘛的了吧,赶紧收藏起来,很有用的😂,真的真的……
我们继续……
Algorithms-DataStructures-BigONotation
链接直达:http://cooervo.github.io/Algorithms-DataStructures-BigONotation/index.html
这个也是一个可以查看算法分析的网站,但是人家不止于此:
这就需要你们自己去探索发掘啦!😄
小彩蛋
我们很多初学数据结构与算法的小伙伴,在刚开始会比较疑惑这个大0表示法是个啥玩意,这里有个Stack Overflow上的热门回答,挺不错的,推荐给你们:
https://stackoverflow.com/questions/487258/what-is-a-plain-english-explanation-of-big-o-notation
感谢阅读
大学的时候选择了自学Java,工作了发现吃了计算机基础不好的亏,学历不行这是没办法的事,只能后天弥补,于是在编码之外开启了自己的逆袭之路,不断的学习Java核心知识,深入的研习计算机基础知识,所有心得全部书写成文,整理成有目录的PDF,持续原创,PDF在公众号持续更新,如果你也不甘平庸,那就与我一起在编码之外,不断成长吧!
其实这里不仅有技术,更有那些技术之外的东西,比如,如何做一个精致的程序员,而不是“屌丝”,程序员本身就是高贵的一种存在啊,难道不是吗?
非常欢迎你的加入,未来的日子,编码之外,有你有我,一起做一个人不傻,钱很多,活得久的快乐的程序员吧!
回复关键字“PDF”,获取技术文章合集,已整理好,带有目录,欢迎一起交流技术!
另外回复“庆哥”,看庆哥给你准备的惊喜大礼包,只给首次关注的你哦!
任何问题,可以加庆哥微信:H653836923,另外,我有个交流群,我会***不定期在群里分享学习资源,不定时福利***,感兴趣的可以说下我邀请你!
对了,如果你是个Java小白的话,也可以加我微信,我相信你在学习的过程中一定遇到不少问题,或许我可以帮助你,毕竟我也是过来人了!
感谢各位大大的阅读🥰
转载:https://blog.csdn.net/sinat_33921105/article/details/105153472