第二十七天:算法和数据结构

今天是释然发题解的第二十七天,以后每一天都会和大家分享学习路上的心得,希望和大家一起进步,一起享受coding的乐趣
本文约1600字,预计阅读5分钟
昨天我们学习了二叉树,忘记的小伙伴们可以看一下哦:

二叉树

今天我们来聊一聊算法和数据结构,明天和大家分享线段树问题的相关题目:

面试中的高频考点

废话不多说,直接上图…别问,问就是偷的
第二十七天:算法和数据结构
其中考频率最高的是:
拓扑排序和二分查找
排名第二的是:
哈希表和二叉查找树
排名第三的是:
动态规划算法,这个算法实在是太难了,确实需要不断地练习才能够掌握,后续还需要多多刷这方面的题目
排民第四的是:
分治、堆
排名第五的是:
贪心、最小生成树、字典树、并查集

其实,重要的知识多少都会涉及,所以该掌握的还是要掌握,这和也只能参考一下。

什么是算法和数据结构?

基础的十大算法包括:

递归、排序、二分查找、搜索、哈希、贪心、分治、回溯动态规划算法字符串匹配算法(KMP)

基础的十大数据结构包括:
数组、链表、散列表跳跃表、栈、队列、Trie树

如何学习?

我非科班出身,当初其实不想报计算机的原因就是觉得计算机竞争压力太大,自己想去学一门其它的学科而且5G时代的到来也不知道会不会有什么大的变革。

我学的是算法,其实也就是为了去打打程序设计竞赛的,我很感谢我的一位同学带我入门,我觉得学习的最好办法就是看书了

基础的语法我的建议是这个网站:
菜鸟教程
传送门
基本上所有的语言入门都可以在这里找到,我觉得特别棒,感谢它让我入门了:Python,java,HTML5,CSS,JS和TS,真的非常棒,对了还有C++/C/C#

看书的话:我特别喜欢**《编程之美》**,作者应该是微软亚洲研究院的面试组长,写的一本非诚详细并且经典的面试书籍,它启发我们能够不断创新地去解决问题。任何问题,我觉得都需要启发性的思考,才能不断地进步。

还有就是推荐《数据结构和算法分析》,这本书非常系统、全面、严谨,而且又是特别难,适合对数据结构和算法有些了解,并且掌握了至少一门编程语言的同学。而且,这个作者也很用心。他用了三种语言,写了三个版本,分别是:《数据结构与算法分析 :C 语言描述》《数据结构与算法分析:C++ 描述》《数据结构与算法分析:Java 语言描述》。

刷题的话我觉得:LeetCodecoodeforces特别好,很经典也很高效,代码也是开放的,没用的题也很少,并且每周会有周赛,能够刷自己的积分,其实已经非常可观得反应自己的实力了

好了,今天的算法和数据结构就到这里。
释然每天发布一点自己学习的知识,希望2年后我们也能在ACM的赛场上见面,一起去追寻自己的程序猿之路吧!

后期也会和大家一起分享学习心得和学习经验呢,明天我们不见不散哦!

下期预告:

二叉树的中序遍历

如果大家有什么建议或者要求请后台留言,释然也想和大家一起进步呀!
联系方式:[email protected]