Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

数据结构

数据结构分为逻辑结构和存储结构两种。

所有代码都经过具体测试运行,具体环境为:

  • Javascript执行环境: Nodejs 8.0

目录

使用

npm install hzl-data-structures

列表

列表是非常常见的一种数据结构,比如日常所见的购物清单、待办事项等等。 它提供了对列表数据的一系列操作,比如:添加、删除、修改、遍历等功能。 当我们把这样的具体问题抽象成用列表去解决的时候,往往可以简化问题。

let List = require('hzl-data-structures');
let list = new List();

数组

数组是最简单、也是使用最广泛的数据结构。数组是可以在内存中连续存储多个元素的结构,在内存中的分配也是连续的,数组中的元素通过数组下标进行访问,数组下标从0开始。

栈也是一种非常常见的数据结构,在计算机的世界里,在计算机的世界里, 栈是一种很高效的数据结构,因为数据只能在栈顶添加或者删除. 因此栈也被称为一种后入先出的数据结构.栈的使用遍布程序语言实现的方方面面, 从表达式求值到函数调用.

队列

队列是一种前进先出的数据结构. 在日常生活中非常常见:比如去银行排队办理业务. 在计算机中也极其常见, 很多情况下,当有大量任务需要完成时, 就会把任务暂时加入到 任务队列中, 执行一个删除一个,继续执行下一个任务.

链表

有时候数组不一定是最佳的组织数据的数据结构,因为数组通常都是固定大小的,当数据填满时, 再加入新元素就变得很困难。在数组中,添加和删除元素也很麻烦,因为要移动数组中的其他元素。 因此如果需要频繁的添加或者删除元素,可以考虑使用链表组织数据。

集合

散列表

散列表,也叫哈希表,是根据关键码和值 (key和value) 直接进行访问的数据结构,通过key和value来映射到集合中的一个位置,这样就可以很快找到集合中的对应元素。

树是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做 “树” 是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。在日常的应用中,我们讨论和用的更多的是树的其中一种结构,就是二叉树。

堆是一种比较特殊的数据结构,可以被看做一棵树的数组对象,具有以下的性质: 堆中某个节点的值总是不大于或不小于其父节点的值; 堆总是一棵完全二叉树。

图是由结点的有穷集合V和边的集合E组成。其中,为了与树形结构加以区别,在图结构中常常将结点称为顶点,边是顶点的有序偶对,若两个顶点之间存在一条边,就表示这两个顶点具有相邻关系。

参考

License

MIT

About

javascript/nodejs 数据结构

Topics

Resources

License

Releases

No releases published

Packages

No packages published
You can’t perform that action at this time.