第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > 数据结构与算法之美——学习笔记

数据结构与算法之美——学习笔记

时间:2024-06-06 02:03:36

相关推荐

数据结构与算法之美——学习笔记

一、前言

近期在准备面试,而数据结构与算法是面试不可回避的重中之重,可以说只有有笔试题,至少有一道算法题。而算法一直是自己软肋,这次不得不正视这个问题。过去对数据结构与算法一直不太重视,总觉得这些太基础,离实际编程太远,然而事实是,要写出高质量的代码,算法必不可少。最近在极客时间入手了《数据结构与算法之美》,希望能久旱逢甘霖~~~

二、为什么要学习数据结构与算法

1、想要通关大厂面试,千万别让数据结构和算法拖后腿

越是厉害的公司,越是注重考查数据结构与算法这类基础知识。我们学任何知识都是为了“用”的,是为了解决实际工作问题的。

2、业务开发工程师,你真的愿意做一辈子CRUD boy吗

Spring、RPC框架等基础框架中,一般都糅合了很多基础数据结构和算法的设计思想。比如Redis的sort set是用什么数据结构来实现的?为什么要用跳表来实现?为什么不用二叉树呢?

3、基础架构研发工程师,写出达到开源水平的框架才是你的目标!

4、对编程还有追求?不想被行业淘汰?那么久不要只会写凑合能用的代码!

何谓编程能力强?代码可读性号、健壮?还是可扩展性号?性能好快起码是其中一个非常重要的评判标准

5、掌握了数据结构与算法,看待问题的深度,解决问题的角度就会完全不一样。

三、怎么学数据结构与算法

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

数据结构就是指一组数据的存储结构。拿水来类别,水可以放在锅碗瓢盆,也可以放在大江大河中,那么锅碗瓢盆就是水的存储结构。算法就是操作数据的一组方法。

数据结构是指一组数据的存储结构,算法就是操作数据的一组方法。图书馆储藏书籍,为了方便查找,图书管理员一般会将书籍分门别类进行“存储”。按照一定规律编号,就是书籍这种“数据”的存储结构。那我们如何来查找一本书呢?有很多办法,你当时可以一本一本地找,也可以先根据书籍类别的编号,是人文,还是科学、计算机来定位书架,然后再依次查找。笼统地说,这些查找方法都是算法。

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

2、复杂度分析

想要学习数据结构与算法,首先要掌握一个数据结构与算法中最重要的概念-----复杂度分析。这个概念究竟有多重要呢?可以这么说,它几乎占了半壁江山,是重中之重。

数据结构和算法解决的是如何更省、更快地存储和处理数据的问题。而复杂度分析是衡量效率和资源消耗的方法。

3、重点--20个知识点

作者总结了20个最常用的、最基础数据结构与算法,不管是应付面试还是工作需要,只需要集中精力逐一攻克这20个知识点就足够了。

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

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

4、一些事半功倍的学习技巧

①边学边练,适度刷题

②多问、多思考、多互动

③打怪升级法

给自己制定一个切实可行的目标,就像打怪升级一样。

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

学习知识的过程是反复迭代、不断沉淀的过程。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。