大一从一个小白一路走过来,也在 leetcode 刷了几年了题,也是有点经验,也走过很多坑,在此分享我的一波经验,请耐心看完一定会有所帮助 。
1、切勿盲目刷题:刷题前的知识积累
说实话,想要提高自己的算法,我觉得就是脚踏实地着多动手去刷题,多刷题 。
但是,如果你是小白,也就是说,你连常见的数据结构,如链表、树以及常见的算法思想,如递归、枚举、动态规划这些都没学过,那么,我不建议你盲目疯狂着去刷题的 。而是先去找本书先去学习这些必要的知识,然后再去刷题 。
因为,如果这些基础都不懂的话,估计一道题做了几个小时,然后看答案都不不懂,做题没有任何思路,这是很难受的 。久而久之,估计没啥动力了,我刚开始就是这样,一道题答案看一天,然而还是不大懂,什么回溯啊,暴力啊,还不知道是啥意思 。
也就是说,假如你要去诸如leetcode这些网站刷题,那么,你要先具备一定的基础,这些基础包括:
1、常见数据结构:链表、树(如二叉树) 。(是的,链表和二叉树是重点,图这些可以先放着)
2、常见算法思想:贪婪法、分治法、穷举法、动态规划,回溯法 。(贪婪、穷举、分治是基础,动态规划有难度,可以先放着)
以上列出来的算是最基本的吧 。就是说你刷题之前,要把这些过一遍再去刷题 。如果你连这些最基本的都不知道的话,那么你再刷题的过程中,会很难受的,思路也会相对比较少 。
总之,千万不要急,先把这些基本的过一遍,力求理解,再去刷题 。这些基础的数据结构与算法,我是在大一第二学期学的,我没看视频,我是通过看书学的,那时候看的书是:
1、数据结构与算法分析(c 语言描述版)
文章插图
我相信大部分人大学看的教程都是清华大学出版社严蔚敏写的那本书,说实话,作为初学者,那本书我没能坚持看下去,可能比较适合大佬看吧 。我自己买了一本《数据结构与算法分析(c 语言描述版)》,挺薄的,不过感觉很棒,这本书让我学到了很多,个人感觉也挺容易懂的,代码实现是采用 C 语言来实现的,不是伪代码,如果你想学习数据结构,我觉得这本书是个不错的选择 。班级里有挺多人看了《大话数据结构》,挺他们说也挺不错,不过我没看过 。
2、挑战程序设计竞赛
文章插图
这边书也是大一时看的,如果你想刷题,我挺推荐这本书,里面分初级、中级到高级 。虽然每道题没有讲的特别详细,但当时都看懂了,真心不错 。不过高级那部分我是没看,初级和中级看着挺舒服 。也是学到挺多的,推荐给大家 。
3、编程之美
文章插图
不用说,很美,这本书是我今年刚入手看的,只能用强烈推荐来形容,在这本书里,学到了挺多技巧,里面列举的题也不是特别难,目前看了 80%,真香 。刚开始我听别人说如果要准备面试谷歌什么的建议看,我以为很难,迟迟没买来看,不过,我看的过程中,感觉还好,相信你也能看的懂,想学习算法、刷题的,强烈推荐 。4、编程珠玑
文章插图
这本老早就听别人说过了,去年看的,不过也是看了80%左右,和编程之美一样,强烈推荐,这本书里的题,说实话,感觉比编程之美有意思,5、程序员代码面试指南:IT 名企算法与数据结构题目最优解
- 想创业没本钱,3个赚钱方法,一台手机一个月收入二十几万,适合没经验的小白
- 小白分享:不做标题党,其实文章标题也可以这么写
- 【装修避坑指南】几十条业主装修经验,装修小白必知
- 新手小白必知这4条 手游梦幻西游搬砖攻略2023
- 新手小白分享:写微头条、问答和文章怎么才能有收益
- 装修房子注意事项,装修房子经验分享
- hp笔记本怎么安装系统 hp笔记本如何安装
- 小白一键重装系统的步骤 自己如何重装电脑系统教程
- 电脑频繁卡顿 处理起来并不难 小白也能轻松搞定
- 小白一键重装系统要多久 教你重装系统的教程