用js来实现那些数据结构及算法—目录

首先,有一点要声明,下面所有文章的所有内容的代码,都不是我一个人独立完成的,它们来自于一本叫做《学习JavaScript数据结构和算法》(第二版),人民邮电出版社出版的这本书。github代码地址是h

大家好,又见面了,我是你们的朋友全栈君。

  首先,有一点要声明,下面所有文章的所有内容的代码,都不是我一个人独立完成的,它们来自于一本叫做《学习JavaScript数据结构和算法》(第二版),人民邮电出版社出版的这本书。github代码地址是https://github.com/loiane/javascript-datastructures-algorithms

  先说下我个人对这本书的看法吧。对于数据结构的介绍不够深入和详细,对于那些计算机专业的前端从业者来说,十分的鸡肋。而对于那些非计算机专业,又完全没接触过数据结构是什么东西的前端coder来说。其中的讲解又十分的不具体,很多内容都是寥寥数笔一带而过,完全没有代表性,对于思路的讲解并不明了,只是罗列了每一步骤,但是实际上单独的列举出每一步做了什么并没什么用,我自己看代码就可以了,用你说什么。当然,我也在网上找到了很多类似于本系列的文章,大多数都是基于此书的代码,但是要么就是完全复制的代码,解释十分的少或者几乎没有,要么就是整体不清不楚,让人不知所以然。

  所以,我就想在学习的过程中把自己的理解,自己对于这个数据结构的思路和每一行代码在上下文中所起到的作用以及相互之间的影响等等写出来。希望大家在学习数据结构的时候可以走的更容易一点。在学习的过程中,有不理解的地方,书中讲的不易理解的地方,都是自己画图,自己去找资料,然后再回来结合代码,给出一个“自认为”还不错的解释。

  终于,完成了有关用js来实现数据结构的所有内容,前后大概花了一个多月将近40小时的时间,一共16篇文章。有最基本的js数组的详细讲解。也有非线性的散列表、树和图。其实对于用js来实现数据结构,个人感觉更多要学习的是那种数据结构的思想。一旦你理解了这个数据结构的思想,那么自然,实现代码也不过就是时间的问题了。本系列所有的内容,都是我一个字一个字打出来的,包括书中的代码和自己加上的注释,当然,其中概念性的问题一部分来自于此书,书中解释不清楚的我都在文中附上了资料的链接。

  那么,如果各位老爷在阅读的时候有不理解或者觉得不清楚的地方,还希望可以留言提出。互相学习。

  噢,对,还是要说一下我觉得这个系列的重点吧。重点在后6篇和前3篇(Array,hashMap,Tree和Graph)。而对于前面的栈,队列等。是你学习后面的基础,因为在树,图等数据结构的实现中,都用到了前面的数据结构。

  所以,大家如果想要学习数据结构。那么个人觉得这系列文章是个不错的开始。或许你会问,我看完这系列文章会学到什么?我真的就懂了数据结构么?当然没有。就单单拿一个图来说,足够写一本厚厚的书了。所以,你学完这个系列,最多只是打开了数据结构的大门,迈出了你的右脚(或者左脚)向门里面的世界探了探,连走进这个大门都不算。

  

  最后说一下本系列的使用方法和大概的阅读时间吧。

  使用方法:首先,你把代码复制到本地,去掉所有的注释,然后就着文章,看一遍代码。然后自己打一遍代码,有不明白的地方再去看注释。这是本系列的服用说明。

  所花时间:每天一个小时,大概需要花上一个月。当然,不仅仅是读一遍,而是跟着文章中的代码和注释完整的过了一遍自己的脑子。

  好了,不罗嗦了。就到这里吧。也算是给自己的交上了一份6分的答卷。

  

 

  下面是目录:

    数据结构部分(已完结):

    1、用js来实现那些数据结构01(数组篇01-数组的增删)

    2、 用js来实现那些数据结构02(数组篇02-数组方法)

    3、用js来实现那些数据结构03(数组篇03-排序及多维数组)

    4、用js来实现那些数据结构04(栈01-栈的实现)

    5、用js来实现那些数据结构05(栈02-栈的应用)

    6、用js来实现那些数据结构06(队列)

    7、用js来实现那些数据结构07(链表01-链表的实现)

    8、用js来实现那些数据结构08(链表02-双向链表)

    9、用js来实现那些数据结构09(集合01-集合的实现)

    10、用js来实现那些数据结构10(集合02-集合的操作)

    11、用js来实现那些数据结构11(字典)

    12、用js来实现那些数据结构12(散列表)

    13、用js来实现那些数据结构13(树01-二叉搜索树的实现)

    14、用js来实现那些数据结构14(树02-AVL树)

    15、用js来实现那些数据结构15(图01)

    16、用js来实现那些数据结构16(图02-图的遍历)

 

    附:算法部分也基本上全部完成了,其中比如搜索、排序算法, 比如函数式编程这几篇文章是极力推荐大家去仔细阅读一下的,因为如果你对这方面没有深入的学习研究过,那么你阅读学习下面的文章之后,会有不小的收货。当然这里有一篇文章我个人的见解是你可以简单阅读,但是不懂也没什么关系,因为它对于算法已经算是较为深入的部分了,就是js算法初窥05(算法模式02-动态规划与贪心算法)这一篇,如果你本身就有算法基础,那么就当我没说。

    算法部分:

    1、js算法初窥01(排序算法01-冒泡、选择、插入)

    2、js算法初窥02(排序算法02-归并、快速以及堆排序)

    3、js算法初窥03(简单搜索及去重算法)

    4、js算法初窥04(算法模式01-递归)

    5、js算法初窥05(算法模式02-动态规划与贪心算法)

    6、js算法初窥06(算法模式03-函数式编程)

  

    最后,谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/124351.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 论述人工智能,大数据,云计算之间的关系_物联网大数据人工智能的关系

    论述人工智能,大数据,云计算之间的关系_物联网大数据人工智能的关系1、云计算信息产业三大革命个人计算机革命、互联网革命和云计算革命。互联网革命:1990年,将终端计算设备连接起来,实现了信息的发布、检索和共享,极大提高了沟通和协作的效率。云计算革命:2006年,云计算的计算能力变成了一种公共服务,云计算通过集中供应、按需供应的模式,打破了时空限制,真正实现了信息化。三次革命让信息普及程度和社会生产效率得到了极大提升。云计算的应用,颠覆了信息产业从产品销售到服务输出的原有商业模式,极大加速了信息产业规模化、专业化、精细化、自主化的发展进程。云计算的概

  • 老子李耳

    老子李耳老子李耳

  • 概率公理化定义的理解

    概率公理化定义的理解由于自己研究生方向为计算机视觉,需要用到许多概率论方面相关的知识,出来混早晚是要还滴!由于本科概率论课不太适应老师的语调,大多数课都睡过去了。。。就连最基本的概率的公理化定义,都快大学毕业了,都一直没有理解,真是囧!赶紧恶补了下概率论,感觉对公理化定义有了一点新的认识,一方面写出来加深自己的记忆,一方面分享出来,供有同样疑问的同学看看,水平有限,如有错误也在所难免,恳请大家指出,然后我进行改正

  • redis 写入数据 越来越慢 是什么原因

    redis 写入数据 越来越慢 是什么原因

    2021年10月16日
  • 基于epoll的TP传输层实现

    1.抽象TP传输层设计在使用epoll实现实际的传输层之前,先设计一个抽象的传输层,这个抽象的传输层是传输层实现的接口层。接口层中一共有以下几个通用的类或者接口:(1)Socket:通用的套接

    2021年12月28日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号