注册 LeetCode 账号,国区力扣leetcode-cn.com
    头像右上角,进度管理,创建一个咱们的进度,比如名字就是开课吧/kkb。
    image.png

    数据结构和算法

    数据结构顾名思义,就是存储数据的结构。struct
    算法,是解决问题的过程和方法。
    为什么这两个经常一起叫,数据结构与算法。是因为在解决问题的时候,我们实现一个算法往往需要用到各种各样的数据结构,也是只有理解了数据结构才能更好的更多种类的去实现算法。

    现在学习的话,不单纯的去学习数据结构或者算法本身,直接通过 文章+实践+讲解+互动 这样来快速入门。

    学习算法的几种方式:

    1. 在leetcode上无脑刷题(效率最低)
    2. 按标签和难度进行刷题
    3. 通过各种算法的经典题型来学习(需要有人总结有人带才可以)

    我的学习方式是 先3后2,跟着人将经典题型都刷一遍,差不多所有专题下来一百五十多道吧,然后自己差不多就可以按标签去刷自己不熟悉的类型了。基本上经典题,一道可以变种出来好多。

    算法的基础入门篇差不多有以下几种:
    数组、链表、栈、树、哈希表、双指针、(图)

    通过这些类型掌握一些基础的数据结构的特性,然后就可以去学习一些常用的算法了,比如:
    二分、贪心、滑动窗口、搜索、动态规划(dp)、背包、分治、剪枝、位运算、Tire树、并查集、字符串匹配、堆等。

    学习方式的话,可能就是每天一到两道题,然后外加一些文档这样,然后每天配合讲解,大概一周过2个基础类型(应该可以)。
    基础入门篇差不多最难的是栈,所以得做好心理准备。

    第一个月就是算法的基础入门篇,打好基础才能更好的往下走。

    大家先看文章,再去刷题,事半功倍