
Data Structure
kyr1e
这个作者很懒,什么都没留下…
展开
-
JavaScript解决哈希碰撞
Hash的基本实现定义Hash类function Hash() { this.hash = new Array(128) this.simpleHash = function(key) { // key为字符串 let total = 0 for(let i = 0;i < key.length;i++) { total += key.charCodeAt(i...原创 2018-10-16 23:43:29 · 585 阅读 · 0 评论 -
JavaScript实现循环队列(非Array.prototype.pop和Array.prototype.shift)
循环队列优点重用浪费的内存例: [1,2,3,4] -> deQueue -> [null, 2,3,4] -> deQueue -> [null,null,3,4]优于数组已满,无法从队尾将新元素入队,因此用循环队列来重新利用被浪费的空间功能MyCircularQueue(k): 构造器,设置队列长度为 k 。Front: 从队首获取元素。如果队列为空...原创 2018-10-19 18:29:39 · 207 阅读 · 0 评论 -
JavaScript实现单链表
功能get(index):获取链表中第 index 个节点的值。如果索引无效,则返回-1。addAtHead(val):在链表的第一个元素之前添加一个值为 val 的节点。插入后,新节点将成为链表的第一个节点。addAtTail(val):将值为 val 的节点追加到链表的最后一个元素。addAtIndex(index,val):在链表中的第 index 个节点之前添加值为 val 的节...原创 2018-10-21 21:36:50 · 250 阅读 · 0 评论 -
JavaScript之迭代算法实现二叉树深度优先遍历
创建二叉树结构function TreeNode(val) { this.val = val; this.left = this.right = null;}let root = new TreeNode(1)let node2 = new TreeNode(2)let node3 = new TreeNode(3)let node4 = new TreeNode(4)let n...原创 2018-10-23 23:12:09 · 557 阅读 · 0 评论 -
JavaScript实现二叉树广度优先遍历
创建二叉树结构function TreeNode(val) { this.val = val; this.left = this.right = null;}let root = new TreeNode(1)let node2 = new TreeNode(2)let node3 = new TreeNode(3)let node4 = new TreeNode(4)let n...原创 2018-10-26 16:51:01 · 3059 阅读 · 0 评论