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