【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-

最新文章

  1. HTTP状态码302、303和307的故事
  2. Android 微信UI 、点击操作
  3. ps通道磨皮
  4. TinyFrame升级之二:数据底层访问部分
  5. linux正则表达式使用
  6. PorterDuff.Mode error
  7. Tkinter教程之Canvas篇(1)
  8. 【elasticsearch】(3)centos7 安装中文分词插件elasticsearch-analyzer-ik
  9. Java基础知识强化之集合框架笔记47:Set集合之TreeSet保证元素唯一性和比较器排序的原理及代码实现(比较器排序:Comparator)
  10. STM8S学习笔记-时钟控制2
  11. HDU [P1533]
  12. 安装maven,并配置eclipse
  13. Linux如何配置想要的JDK
  14. ES6函数增强
  15. 【HDU-6146】Pokémon GO(dp)
  16. Android里透明的ListView
  17. mysql试题
  18. 查看Linux系统版本信息(转)
  19. CSS样式表的写作规范
  20. TOJ4439微积分――曲线积分(数学,模拟)

热门文章

  1. 数学--数论--HDU 2104 丢手绢(离散数学 mod N+ 剩余类 生成元)+(最大公约数)
  2. unittest(执行用例)
  3. golang server示例
  4. C/S程序设计范式
  5. Nginx入门资料
  6. 树的最小支配集 E - Cell Phone Network POJ - 3659 E. Tree with Small Distances
  7. 大富翁 线段树+二分 +dfs
  8. rsync客户端一键安装rsync脚本(源码)
  9. linux gdb快速入门教程
  10. JDBC07 事务