数据结构与算法之美(一):概论

  • 最近在极客时间上面学习王争老师的课程《数据结构与算法之美》,以前虽然学过一些皮毛,但是不够精,作为程序员的基本内功,还是要继续学习。至此通过总结的方式,把这门课的要点记录下来,供自己思考回顾,也分享给大家。

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

  • 1、广义上,数据结构指的是一组数据的存储结构,算法指的是操作数据的一组方法。
  • 2、数据结构和算法之间有什么关系呢?数据结构和算法是相辅相成的。数据结构是为算法服务的,算法要建立在特定的数据结构之上,因此无法孤立数据结构来讲算法,也无法孤立算法来讲数据结构。

二、学习的重点

  • 想要学习数据结构与算法,首先要掌握复杂度分析,因为数据结构与算法解决的就是如何更省、更快地存储和处理数据的问题,因此我们要有一个衡量效率和资源消耗的方法,这就是复杂的分析。
  • 搞定复杂度分析后,后面就是数据结构与算法的正文内容了,如下所示:

数据结构与算法的正文内容

  • 作为初学者和非算法工程师,只需要掌握最常用、最基础的20个数据结构与算法,学习他们的:“来历”、“特点”、“适合解决什么问题”和“实际的应用场景”,分别是一下10个数据结构和10个算法:
  • 数据结构:数组、链表、栈、队列、散列表、二叉树‘、堆、跳表、图、Tire树
  • 算法: 递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法

三、如何学习

  1. 边学边练,适度刷题;
    边学边练,每周花 1~2 小时集中把所学中涉及的数据结构和算法,全部写出来,用代码实现一遍。
  2. 多问、多思考、多互动;
  3. 自我激励,每次学习完做一篇学习笔记;
  4. 沉下心不要浮躁,不要想试图一下子掌握所有,学习知识是反复迭代、不断沉淀的过程。
  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值