学习建议

1.视频学习---认知

建议:在中国慕课上找“数据结构”相关的视频教程。中国大学MOOC

推荐清华大学、北京大学、浙江大学的教程,可先试看,然后根据自身的情况选择视频进行学习。

视频学习可以帮助我们对数据结构有基本的认知,比一开始就去看书,更容易坚持,并且印象也会更深刻。

因为时间的原因,有些课程可能已经关闭了,所以我在哔哩哔哩上找到“数据结构”(浙江大学)的视频教程跟着学习。同时,为了更好地对视频讲解的内容进行回顾,我在图书馆借了跟视频配套的课本,跟着学习。
数据结构-浙江大学

网上有很多推荐邓俊辉老师的视频,小伙伴们可以试着看看,但是我太菜了,看了几个小节之后,发现有点懵,等以后有机会再跟着邓老师学习吧。
清华大学-邓俊辉MOOC数据结构与算法全套

2.书籍

建议:

  • 《学习JavaScript数据结构与算法》
  • 《数据结构》主编 陈越
  • 《大话数据结构》
  • 《图解算法》

每种数据结构对应的视频教程看完后,一定要看相应的书籍,自己做笔记,多思考,多总结。

建议找视频教程中对应的教材进行学习,可以节省一些做笔记的时间。【因为这本书选用的语言是C,所以,在代码实现这块,我就会跳过】

同时,一定要看《学习JavaScript数据结构与算法》这本书,现在已经更新到第三版,全书也是用ES6进行编写,非常适合学习前端,只会JavaScript的朋友们。最重要的是,数据结构与算法用JS来编写的,真的太少啦,大家且看且珍惜吧。

辅助书籍:《大话数据结构》这本书还是很有趣的。

其实,视频和书籍的选择是很灵活的,一定要根据自身的情况,如果可以在图书馆借书,一定要多借几本(在网上找一些推荐的书籍),挑选出适合自己的。

3.练习

一定要做练习!一定要做练习!一定要做练习!

推荐:

  • leetcode
  • 牛客网上《剑指offer》

但是,相信大家一定不知道如何选择合适的题目。我是跟着【JavaScript版数据结构与算法---慕课网视频教程】做相应的练习。后面我会将每种数据结构、算法列出对应的练习题目。

做练习题能够帮助我们更好地认识每种数据结构,了解一些它的应用场景,帮助今后在遇到问题的时候能够选择合适的数据结构进行解决。

【题外话】

基础真的很重要很重要很重要!!!

前端也是需要学习数据结构与算法的,一方面,数据结构与算法可以提高我们的编程能力,正好也可以练习JS;另一方面,我们在找工作的过程中,这部分的内容也是会进行考察的;如果我们以后想要专攻技术,往全栈方向发展,这些知识都是基础。

我在学习数据结构与算法的时候,总是在痛苦、收获、想要放弃、再坚持一下中不断轮回,但如果坚持学,就会有收获!很难得的是,我竟然找到了高中时候做题的快乐,如果搞懂了某一个知识点,真的很有成就感!

会当临绝顶,一览众山小!希望攻克难题的小伙伴们,可以发出这样的感慨!

【Fighting】

我的目标:成为一位优秀的前端工程师,一名优雅的程序媛!!!

尽管在学习的过程中会遇到很多难题,但还好我对前端的热情依然不减,同时也有着强烈的求知欲和好奇心,既然决定把前端作为以后的职业,就要爱我所选,并且坚定地走下去!

前端路漫漫,但我看得到远方,我知道自己努力的方向,这就很幸福。每前进一步,就离自己的目标越近。

不积跬步无以至千里!

道阻且长,行则将至!

学习JavaScript数据结构与算法---前端进阶系列的更多相关文章

  1. 重读《学习JavaScript数据结构与算法-第三版》- 第6章 链表(一)

    定场诗 伤情最是晚凉天,憔悴厮人不堪言: 邀酒摧肠三杯醉.寻香惊梦五更寒. 钗头凤斜卿有泪,荼蘼花了我无缘: 小楼寂寞新雨月.也难如钩也难圆. 前言 本章为重读<学习JavaScript数据结构 ...

  2. 重读《学习JavaScript数据结构与算法-第三版》- 第4章 栈

    定场诗 金山竹影几千秋,云索高飞水自流: 万里长江飘玉带,一轮银月滚金球. 远自湖北三千里,近到江南十六州: 美景一时观不透,天缘有分画中游. 前言 本章是重读<学习JavaScript数据结构 ...

  3. 重读《学习JavaScript数据结构与算法-第三版》- 第5章 队列

    定场诗 马瘦毛长蹄子肥,儿子偷爹不算贼,瞎大爷娶个瞎大奶奶,老两口过了多半辈,谁也没看见谁! 前言 本章为重读<学习JavaScript数据结构与算法-第三版>的系列文章,主要讲述队列数据 ...

  4. 重读《学习JavaScript数据结构与算法-第三版》-第2章 ECMAScript与TypeScript概述

    定场诗 八月中秋白露,路上行人凄凉: 小桥流水桂花香,日夜千思万想. 心中不得宁静,清早览罢文章, 十年寒苦在书房,方显才高志广. 前言 洛伊安妮·格罗纳女士所著的<学习JavaScript数据 ...

  5. 重读《学习JavaScript数据结构与算法-第三版》- 第3章 数组(一)

    定场诗 大将生来胆气豪,腰横秋水雁翎刀. 风吹鼍鼓山河动,电闪旌旗日月高. 天上麒麟原有种,穴中蝼蚁岂能逃. 太平待诏归来日,朕与先生解战袍. 此处应该有掌声... 前言 读<学习JavaScr ...

  6. 学习JavaScript数据结构与算法 (二)

    学习JavaScript数据结构与算法 的笔记 包含第四章队列, 第五章链表 本人所有文章首发在博客园: http://www.cnblogs.com/zhangrunhao/ 04队列 实现基本队列 ...

  7. 学习JavaScript数据结构与算法 (一)

    学习JavaScript数据结构与算法 的笔记, 包含一二三章 01基础 循环 斐波那契数列 var fibonaci = [1,1] for (var i = 2; i< 20;i++) { ...

  8. 学习Javascript数据结构与算法(第2版)笔记(1)

    第 1 章 JavaScript简介 使用 Node.js 搭建 Web 服务器 npm install http-server -g http-server JavaScript 的类型有数字.字符 ...

  9. 学习JavaScript数据结构与算法 2/15

    第一章 JavaScript简介 js不同于C/C++,C#,JAVA,不是强类型语言. 通常,代码质量可以用全局变量和函数的数量来考量(数量越多越糟).因此,尽可能避免使用全局变量. JS数据类型 ...

随机推荐

  1. PLSQL Developer12注册码

    product code: 4vkjwhfeh3ufnqnmpr9brvcuyujrx3n3le serial Number:226959 password: xs374ca 绝对靠谱

  2. [Netcat] 断线重连 自动重连

    今天想做些操作,所以想到了nc 但是nc太过于轻量级 所以 导致我没有找到他的断线重连功能 然后我就想到了windows的神器之一 vbs脚本 vbs代码如下 Dim a,b set a= WScri ...

  3. 【资源分享】Gmod动态方框透视脚本

    *----------------------------------------------[下载区]----------------------------------------------* ...

  4. audio mixer

    https://blog.csdn.net/jeffasd/article/details/77155187 https://blog.csdn.net/jeffasd/article/details ...

  5. 利用数据结构排序的priority_queue

    考虑以下几个问题: 将一个序列排序 某神仙: \(\mathtt{sort}\) !!! 每次取出最前面的两个数 某神仙: \(a_i\) 和 \(a_{i+1}\) 啊!! 相加,再加入序列 某神仙 ...

  6. Java开发之Redis

    简介 Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key - value 数据库 Redis 与 其他 key - value 缓存产品均有以下特点: Redis 支持数据持久化 ...

  7. 如何在IntelliJ Idea中同时启动不同端口的两个实例

    在SpringCloud开发过程中需要在一个项目中启用不同的端口,我使用的工具是IDEA 步骤1 创建SpringBoot工程 步骤2 在配置文件中添加如下配置: spring.application ...

  8. active Directory域服务安装配置

    1.在Windows功能启用 2.安装一直下一步即可, 添加用户 添加域管理员 将普通用户添加到Domain Admins里

  9. Educational Codeforces Round 81 (Rated for Div. 2)E(线段树)

    预处理把左集划分为大小为1~i-1时,把全部元素都移动到右集的代价,记作sum[i]. 然后枚举终态时左集的大小,更新把元素i 留在/移动到 左集的代价. 树状数组/线段树处理区间修改/区间查询 #d ...

  10. pwnable.kr-flag-Writeup

    MarkdownPad Document *:first-child { margin-top: 0 !important; } body>*:last-child { margin-botto ...