zoukankan      html  css  js  c++  java
  • 【JavaScript数据结构系列】00-开篇

    【JavaScript数据结构系列】00-开篇

    码路工人 CoderMonkey
    转载请注明作者与出处


    ## 0. 开篇【JavaScript数据结构与算法】

    大的计划,写以下两部分:

    • 1【JavaScript数据结构系列】
    • 2【JavaScript算法系列】

    1.【JavaScript数据结构系列】

    大家都知道,学习编程,基础很重要。
    数据结构,就是很其中重要的一项。

    本系列是个人在学习过程中的记录总结实践分享,
    也希望对想要学习这方面的你,有所助益。

    大白话模式开扯。

    1.1 什么是数据结构

    Data Structures

    数据结构就是对数据的一种存储和组织方式,
    具有某些特点,施加某些限制,
    满足一些场景的需求,
    是具体需求场景下根据其特点抽象出来的。

    比如最直接的例子,

    • 去食堂打饭
    • 去银行/营业厅办理业务
    • 去美发店理发

    特点就是排队,从去的早的开始依次先处理。
    这里就用到了队列(Queue)。
    针对VIP客户这种情况,有优先队列。

    1.2 数据结构有什么用

    当然是更高效方便地解决对数据的处理需求。
    存储组织/插入删除/查找定位/修改替换等

    写业务代码的时候也许没有体会到基础的重要,
    当你以适当的数据结构解决复杂的数据关系问题,
    或恰好解决业务实现时,就会感叹其中的精妙了。

    作为一名合格的码路工人,
    一定要学习数据结构。

    1.3 本系列的计划

    常用的数据结构都会涉及到,

    • JS中封装提供的
      • Array数组
      • Set集合
      • Map字典

    JS中提供的,是其封装过的,
    并不是原始的数据结构,
    以学习API使用为主,
    不做过多介绍。

    • JS未提供,自己做封装的
      • Stack栈
      • Queue队列(包括优先队列等)
      • LinkedList链表(包括双向链表等)
      • HashTable哈希表(或称散列表)
      • Tree树(包括二叉搜索树红黑树等)
      • Graph图(包括广度优先与深度优先等)

    JavaScript版的数据结构,
    就要用JS语言来实现。

    示例代码可能会不完整,
    也会照顾读者不使用新的语法,
    只求能够说明数据结构及实现,
    另外用最新语法实现一遍,
    做成包发布到npm,说不定就有人用到呢。

    npm 包:data-struct-js
    > npm install data-struct-js

    npm 包地址:
      https://www.npmjs.com/package/data-struct-js

    源码地址

    Github
      https://github.com/codermonkie/data-struct-js
      Gitee
      https://gitee.com/coder-monkey/data-struct-js


    附一张思维脑图总结

    *基于数组实现的哈希表


    -end-
  • 相关阅读:
    MySQL事务隔离级别和MVCC
    windows环境下查看端口是否被占用
    jar找不到问题解决
    Java注解
    Fastjson
    mybatis
    Idea快捷键
    Date与String的相互转换
    Windows快捷键
    [转]linux awk命令详解
  • 原文地址:https://www.cnblogs.com/CoderMonkie/p/js-data-struct-and-alg.html
Copyright © 2011-2022 走看看