数据结构与算法
鸭嘴兽Coder
这个作者很懒,什么都没留下…
展开
-
数据结构Javascript实现 | 字典树 trie
概念字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串。一般情况下,不是所有的节点都有对应的值,只有叶子节点和部分内部节点所对应的键才有相关的值。图示代码字典树节点class TrieNode { constructor(key) { this.key = key; this.children = []; }原创 2020-07-11 20:17:32 · 687 阅读 · 0 评论 -
数据结构Javascript实现 | 优先队列 PriorityQueue
概念优先队列中的每个元素都有各自的优先级,优先级最高的元素最先得到服务;优先级相同的元素按照其在优先队列中的顺序得到服务。优先队列的出队顺序与入队顺序无关,和优先级有关。图示代码优先队列节点class Node { constructor(data, priority) { this.data = data; this.priority = priority; }}优先队列类class PriorityQueue { constructor() {原创 2020-05-16 09:59:33 · 756 阅读 · 0 评论 -
数据结构Javascript实现 | 堆 heap
概念堆可以被看做一棵完全二叉树的数组对象。图示代码最小堆 - 根节点为最小值的堆class MinHeap { constructor() { // index为0时赋值null,便于计算子节点index和父节点index的关系 this.heap = [null] } insert(node) { this.heap.push(node); ...原创 2020-04-28 16:29:05 · 553 阅读 · 0 评论 -
数据结构Javascript实现 | 哈希表 hashTable
概念栈只允许在有序的线性数据集合的一端 (栈顶) 进行数据插入和移除。因而按照后进先出 (LIFO, Last In First Out) 的原理运作。图示代码不处理冲突的哈希表:class HashTable_WithoutSolveClash { constructor(size) { this.table = new Array(size); } /** 哈...原创 2020-04-24 14:55:05 · 168 阅读 · 0 评论 -
数据结构Javascript实现 | 栈 stack
概念栈只允许在有序的线性数据集合的一端 (栈顶) 进行数据插入和移除。因而按照后进先出 (LIFO, Last In First Out) 的原理运作。图示代码栈节点class Node { constructor(element) { this.element = element; this.next = null; }}栈 Classclass St...原创 2020-04-22 11:33:35 · 254 阅读 · 0 评论 -
数据结构Javascript实现 | 队列 queue
图示队列节点class Node { constructor(element) { this.element = element; this.next = null; }}队列class Queue { constructor() { this.head = null; this.tail = null; } /** * ...原创 2020-04-18 15:02:24 · 150 阅读 · 0 评论 -
js数据结构之双向链表doublyLinkedList
双向链表图示:代码实现(包含增、删、遍历方法)及示例:/** * 双向链表节点 * 包含三个值: 当前节点的值和分别指向前后节点的链接 */class Node { constructor(element) { this.element = element; this.next = null; this.prev = null; }}/** 双...原创 2020-04-06 11:27:58 · 184 阅读 · 0 评论 -
js数据结构之单向链表SinglyLinkedList
单向链表图示:代码实现(包含头尾部插入、搜索、删除、正反向遍历)及示例:/** * 单向链表节点 * 包含两个值: 当前节点的值和一个指向下一个节点的链接 */class Node { constructor(data) { this.data = data; this.next = null; }}/** 单向链表 */class LinkedLis...原创 2020-04-06 11:10:49 · 262 阅读 · 0 评论