×

js数据结构与算法

js数据结构与算法(前端开发怎么学好数据结构与算法)

admin admin 发表于2023-03-08 05:58:32 浏览44 评论0

抢沙发发表评论

本文目录

前端开发怎么学好数据结构与算法

首先,我们要明确如果只是单纯做前端,没有必要学数据结构和算法。前端的核心是DOM。算法和数据结构是为了解决效率问题的,而提升前端的效率用到的概念往往仅仅是常识级别的。甚至一些流行的中小型库中都看不到任何数据结构。可以认为前端是程序员里的一个特例,一般程序员面对的是计算机,前端开发人员面对的仅仅是浏览器。如果只是关注前端,学习数据结构和算法的收益还不如去读jQuery源码。

既然前端用不上,题主还是问到了这个问题,那就说明题主关注的不仅仅是如何成为一个熟练的前端,而是成为一个优秀的软件工程师。网站开发之所以流行,一部分是因为开发成本低。这些节省下来的成本,一部分就是开发人员的薪水。换句话说,前端开发简单,门槛低,所以收入低,可替代性强。跳出前端这个领域,把自己放到软件工程师的队伍里,再看这个问题,那么就很有必要好好学学数据机构和算法了。

那怎么学好数据结构和算法呢?

一、搞清楚典型的数据结构有哪几种,比如线性表、栈、队列、串、树、图,知道典型的查找和排序算法;注意,对于这些你只需要知道不必太深入,脑海中有个印象,知道大概怎么回事,回头用到的时候能知道在哪里查就可以。

二、详细研究栈、哈希表(字典)。栈这个东西在计算机中处处能见到,理解了栈对于理解计算机本身很有好处,记得尝试用栈的观点来看计算机。字典就不说了,我想绝大多数的人都查过字典,应该知道字典有什么用,想象一下没有字典的话,从成千上万个字中找到你想要的时有多痛苦。

三、完全弄明白时间复杂度、空间复杂度是怎么回事。理解这一点可以让你自己在写代码时不至于写出有明显效率问题的代码,默默的提高你的代码质量

四、上手实际项目,积累项目经验,看看项目哪里用到了你所知道的数据结构和算法,搞清楚为什么用,能不能用另一种数据结构或算法让它变得更好。当然,湖南优就业的IT培训老师告诉我们,只有不断的练习,才能真正学到东西!

五、多翻数据结构和算法的经典书籍,看看那些你曾经粗读过的内容,我想你会看得很愉快的。

大一学习了C语言寒假准备好好学习,是学习c++,还是学数据结构算法

语言,无论是哪种语言都是实现目标的工具;而算法、结构则是一种思维方式。

C语言,可以说是很多语言的基础,你用它在C++/PHP/Java上都可以直接写代码,所不同的就是你没用到那些语言的一些特性而已。学好C其它语言就学会一半了,差别就是定义方式不同,赋值语句不同罢了。所以你可以自问你对C熟练吗?

把C比喻成改锥,你可以用改锥拧螺丝,撬东西,砸洞,但是你总会发现它的局限性,比如削平木头,这样就需要其他更适合的工具(语言)了。例如web后段还是PHP更好,上规模的合作,首选Java;前端,JS不可或缺…..

但无论你用什么语言,算法、数据结构的思路都可以是一样的。除了算法数据结构外,你还需要考虑学习网络、数据库、操作系统等,这里面有不少知识点都是可以相互借鉴的,一通百通。例如C指针,就跟数据结构的数组方式、算法的排序和查找、数据库的底层架构、操作系统的文件结构索引等等都差不多就是一件事的不同方面。

学C(无论什么语言)至少你要做出你的特性来,程序一运行,就知道是你写的。哪怕别人copy走,老师也是能一眼看出。是特性,不是简单一个署名。

前端进入一个交叉口了,我是该深入学习数据结构与算法还是学nodejs走全栈路线

其实两个选择,一个横向,一个纵向,没有对错之分,关键在于你自己想要什么

如果选择深入学习数据结构与算法,其实这是一条挺辛苦的路,尤其是算法,没有天赋还真学不好,而且要有很强的数学基础,可以看看算法导论,如果觉得不吃力,就可以。深耕某一领域,比较适合进入大公司,大公司一般都是一个萝卜一个坑,不需要你掌握太多的领域,进入大公司相应的就有了大的平台

全栈和上述正好相反,它要求你懂的足够多,什么都要会,也正因为如此,在面试的时候其实是比较吃亏的,很容易被面试官抓到一个细节而pass掉,不过全栈还是很受一些初创企业欢迎的,毕竟一个人可以顶多个人用,而且是全校的话即便以后不好找工作的话还是比较容易创业的

以上是两个方向的优缺点,正好相反

从我个人来说,我比较偏向全栈,因为程序员毕竟是青春饭,谁也不能保证永远有工作,而且如果要向上发展进管理层的话,只懂的一个细分领域还是不够的,毕竟我们是做应用的,不是搞研究的

怎么高效得学习数据结构和算法

边学边练,适度刷题

  1. “边学边练”,把学习时涉及的数据结构和算法,全部用代码实现一遍,效果倍棒。但是,要“适度刷题”,一定不要浪费太多时间在刷题上,我们的目的还是掌握,然后应用。除非是Google、Facebook这种对算法要求很高的公司,国内企业还是重在掌握应用。

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

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

打怪升级法

学习中最大的问题,就是要坚持下来。枯燥的学习过程中,给自己设立切实可行的目标,让自己看到进度条。比如写学习笔记或心得,同时尽可能寻求正反馈。

3. 沉淀知识

学习需要沉淀,不要妄想一下子掌握所有。学习的过程是反复迭代、不断沉淀的过程。