数据结构
心若成梦
春有百花秋有月,夏有凉风冬有雪。
莫将闲事挂心头,便是人间好时节。
展开
-
JavaScript HashTable实现
1.什么是哈希表哈希表(HashTable)又叫做散列表,是根据关键码值(即键值对)而直接访问的数据结构2.为什么哈希表的速度快在数据结构中,我们对两种数据结构应该会非常熟悉:数组与链表。数组的特点就是查找容易,插入删除困难;而链表的特点就是查找困难,但是插入删除容易。既然两者各有优缺点,那么我们就将两者的有点结合起来,让它查找容易,插入删除也会快起来。哈希表就是讲两者结合起来的产物。/*...转载 2019-08-14 00:47:50 · 112 阅读 · 0 评论 -
JavaScript 树实现
/* 节点 */function Node(data, left = null, right = null) { this.data = data; this.left = left; this.right = right;}/* 创建树 */function BST(){ this.root = null; this.add ...转载 2019-08-14 08:48:54 · 419 阅读 · 0 评论 -
JavaScript 字典树 实现
Trie也可以叫做Prefix Tree(前缀树),也是一种搜索树。Trie分步骤存储数据,树中的每个节点代表一个步骤,trie常用于存储单词以便快速查找,比如实现单词的自动完成功能。 Trie中的每个节点都包含一个单词的字母,跟着树的分支可以可以拼写出一个完整的单词,每个节点还包含一个布尔值表示该节点是否是单词的最后一个字母。function Node() { this.keys =...转载 2019-08-16 00:32:29 · 333 阅读 · 0 评论 -
JavaScript 栈实现
JavaScript 栈实现/*栈的特点是后进先出*/var Stack = function(){this.count = 0;this.storage = {};/* 将一个元素推入栈顶 */this.push = function (value) { this.storage[this.count] = value; this.count++;},...转载 2019-08-12 21:45:22 · 215 阅读 · 0 评论 -
JavaScript 队列的实现
/* Queue和Stack有一些类似,不同的是Stack是先进后出,而Queue是先进先出 */var Queue = function () { var collection = []; this.print = function () { console.log(collection); } /* 入列,向队尾增加...转载 2019-08-12 22:05:45 · 97 阅读 · 0 评论 -
JavaScript 单链表实现
/* 单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素 */var LinkedList = function () { var length = 0; var head = null; /* 获取单链表的长度 */ this.size = function () { retur...转载 2019-08-13 00:11:08 · 160 阅读 · 0 评论 -
数组和链表的区别
顾名思义,链表是一种链式数据结构,链上的每个节点包含两种信息:节点本身的数据和指向下一个节点的指针。链表和传统的数组都是线性的数据结构,存储的都是一个序列的数据,但也有很多区别,如下表:比较维度数组链表内存分配静态内存分配编译时分配且连续 动态内存分配,运行时分配且不连续元素获取通过Index获取速度较快 通过遍历顺序访问,速度较慢添加删除元素因为内存...转载 2019-08-13 00:20:54 · 81 阅读 · 0 评论