数据结构与算法打卡(0):如何学数据结构与算法

学什么

1、什么是数据结构?什么是算法?

从广义上讲,数据结构就是指一组数据存储结构。算法就是操作数据的一组方法

2、数据结构与算法有什么关系呢?

数据结构和算法是相辅相成的。数据结构是为算法服务的,算法要作用在特定的数据结构之上 因此,我们无法孤立数据结构来讲算法,也无法孤立算法来讲数据结构。

个人觉得,上面这一段话对我的影响最大,让我深刻明白算法是解决问题的方法,而结构是实现这个方法所必须的硬性先决条件
比如二分查找需要用数组来储存数据,如果使用链表这种结构,二分查找就无法工作了,因为链表并不支持随机访问。

知识点(20个)

根据二八法则,只抓重点,老师根据他多年的面试、开发经验,总结了最常使用、最基础的数据结构与算法,不管是应付面试还是工作需要,只要集中精力逐一攻克这 20 个知识点就足够了。

10个数据结构:
数组、链表、栈、列队、散列表、二叉树、堆、跳表、图、Trie树

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

学习方法

学习数据结构与算法的过程,是非常好的思维训练的过程,所以,千万不要被动地记忆,要多辩证地思考,多问为什么。

如果你一直这么坚持做,你会发现,等你学完之后,写代码的时候就会不由自主地考虑到很多性能方面的事情,时间复杂度、空间复杂度非常高的垃圾代码出现的次数就会越来越少。你的编程内功就真正得到了修炼。

老师在课中说,复杂度分析方法非常重要”它几乎占了数据结构和算法这门课的半壁江山,是数据结构和算法学习的精髓。“

下面是老师分享的一些学习技巧

1、边学边练,适度刷题

建议你每周花 1~2 个小时的时间,集中把这周的三节内容涉及的数据结构和算法,全都自己写出来,用代码实现一遍

可以“适度”刷题,但一定不要浪费太多时间在刷题上。只要彻底掌握这个专栏的内容,就足以应对国内公司的技术面试,即便是 BAT 这样的公司。

2、多问、多思考、多互动

最好是组对学习、比如跟专栏的同学互动。
(这是外部驱动)

3、打怪升级学习法

学习最怕放弃,最怕中途而废。

所以要为自己设立一些学习目标,让自己不断获得成就感,就会不断激发自己的学习欲望。
(这是内部驱动)

4、不断沉淀

学习不要着急,不可能听一遍、看一遍就把所有知识掌握。
学习知识的过程是反复迭代、不断沉淀的过程。

5、不要边听(看)边做笔记,而是事后复述(口述、笔述)

这条是自己最近想到的一个的学习(笔记)方法(也是其它领域的经验之谈),个人觉得非常重要。

学习路线

在这里插入图片描述

总结

  • 不要慌。认准专栏、吃透专栏足以应付 BAT 级别面试
  • 不要急。学习需要反复思考、反复练习,不可能一蹴而就
  • 抓重点。复杂度分析极其重要,是精髓,是内功心法,首先拿下它

课程链接:
打卡召集令 | 60 天攻克数据结构与算法

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值