1.数据结构和算法

准备面试,现在都需要算法这一关。
其实基础的计算机知识,算法,操作系统,计算机网络等,这些知识是整个计算机的基石,也是掌握以后可以快速熟悉其他技术的基础。

2.开篇

记录下极客时间上的学习内容,跨过算法和数据结构这条坎。

3.如何学习数据结构与算法

数据结构,广义来讲就是对数据的存储的一种方式。狭义来讲就是栈,堆,链表,二叉树,图等组成。
算法,就是操作数据的方法,不同的算法,对数据结构的操作消耗的时间,空间是不一样的。所以要根据时间情况进行选取。

3.1复杂度分析

算法和数据结构都是经典的内容,也就是前人的经验。
复杂度分析,分为空间复杂度和时间复杂度。

3.2基础数据结构和算法

  • 这里面有 10 个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树;
  • 10 个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。
    这些是我们必须要掌握的基础知识。
    掌握,来历,自身的特点,适合解决的问题,和实际的场景。
    每个数据结构和算法都可以按这个流程来学习,就能事半功倍。

4.学习的方法

4.1边学边练

把每周的内容都自己写一边,并且把每部分的代码都上到github上。
纸上得来终觉浅,绝知此事要躬行。
把每个细节都摸透,才能对知识的掌握得到升华。

4.2多问、多思考、多互动

学习最好的方法是,找到几个人一起学习,一块儿讨论切磋,有问题及时寻求老师答疑。

4.3每节课后的思考题都认真思考,并且回复到留言区。

刷leetcode,就是每次都提交,每次都写题解,来总结和完善自己的知识点。

4.4知识需要沉淀,不要想试图一下子掌握所有

需要时间去积累,然后慢慢熟悉和理解。

发表评论

电子邮件地址不会被公开。 必填项已用*标注