用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-函数式编程)

  

    最后,谢谢!

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • CAS实现单点登录(SSO)经典完整教程

    CAS实现单点登录(SSO)经典完整教程一、简介1、cas是有耶鲁大学研发的单点登录服务器2、本教材所用环境Tomcat7.2JDK6CASService版本cas-server-3.4.8-rele

    2022年6月7日
    101
  • docker 现实—联网多台物理主机,容器桥到物理网络(三)

    docker 现实—联网多台物理主机,容器桥到物理网络(三)

    2022年1月4日
    79
  • pycharm添加conda虚拟环境[通俗易懂]

    pycharm添加conda虚拟环境[通俗易懂]

    2022年8月28日
    4
  • 双IP双线路实现方式 先来说说双线单IP和双线双IP的区别

    双IP双线路实现方式 先来说说双线单IP和双线双IP的区别双 IP 双线路实现方式双 IP 双线路实现方式是指在一台服务器上安装两块网卡 分别接入电信网线与网通网线并设置一个网通 IP 与一个电信 IP 这样一台服务器上就有了两个 IP 地址 需要在服务器上添加网通或电信的路由表来实现网通用户与电信用户分别从不同的线路访问 双 IP 双线路具有常用的两种使用方式 1 nbsp ICP 用户在网站设置两个 IP 地址不同的链接 网通用户点击网通 IP 访问服务器 电信用户点击电信 IP 访问 2 nbsp 使用 BIND9 DNS 服务器软件 对不同的 IP 地址请求返回不同的服务器 IP 的功能来实现网通用户请求域名时返回网通

    2026年1月17日
    1
  • Macbook air/pro m1 恢复出厂设置小记

    Macbook air/pro m1 恢复出厂设置小记今日手抽,想恢复下出厂,看了官方教程https://support.apple.com/zh-cn/HT211983够,按照说明一步一步进行,然鹅~在正确抹掉2遍开始选择重装bigsur时发现无法找到硬盘。经摸索,解决方法:再次重启进去恢复模式,选择磁盘工具,点击显示所有卷宗,这时发现硬盘处于非格式化状态,因而无法被安装程序识别,(点击+号新建afps分区时会提示无效的arg,无法新建分区)应选择抹除,来重新抹盘,即可解决问题。返回到恢复界面,就能发现硬盘并正常重装。注:这个问题用u盘进行引导安装时也一

    2022年6月17日
    241
  • java 实现MQTT客户端

    java 实现MQTT客户端简介 MQTT MessageQueui 消息队列遥测传输协议 是一种基于发布 订阅 publish subscribe 模式的 轻量级 通讯协议 该协议构建于 TCP IP 协议上 可以以极少的代码和有限的带宽 为连接远程设备提供实时可靠的消息服务 三种消息发布服务质量 至多一次 消息发布完全依赖底层 TCP IP 网络 会发生消息丢失或重复 至少一次 确保消息到达 但消息重复可能会发生 只有一次 确保消息到达一次 在一些要求比较严格的计费系统中

    2025年7月27日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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