随笔分类 -  [算法] 学习JavaScript数据结构与算法

学习JavaScript数据结构与算法
摘要:计算 em 目标像素 除 基准像素 等于 em倍数结果; 14 / 16 = 0.875em 0.875倍也就是 14 像素 计算百分比 目标像素 除 父类总宽度 乘 一百;90 / 200 * 100 = 45px 再将父类总宽度改为百分之百 如此实现所有元素自适应效果 阅读全文
posted @ 2018-02-11 14:36 鱼肥肥与肥肥鱼 阅读(224) 评论(0) 推荐(0)
摘要:// Math.ceil() 返回大于等于数字参数的最小整数(取整函数),对数字进行上舍入 // Math.floor() 返回小于等于数字参数的最大整数,对数字进行下舍入 // Math.round() 返回数字最接近的整数,四舍五入 export class Random{ /** * startAt-maxItem的随机整数,包含startAt但不包含maxItem ... 阅读全文
posted @ 2017-08-10 13:49 鱼肥肥与肥肥鱼 阅读(248) 评论(0) 推荐(0)
摘要:树的相关术语 一个树结构包含一系列存在父子关系的节点。 每个节点都有一个父节点 (除了顶部的第一个节点)以及零个或多个子节点: 位于树顶部的节点叫作根节点(11) 。它没有父节点。树中的每个元素都叫作节点,节点分为内部节点和外部节点。至少有一个子节点的节点称为内部节点(7、5、9、15、13和20是 阅读全文
posted @ 2017-06-21 14:53 鱼肥肥与肥肥鱼 阅读(412) 评论(0) 推荐(0)
摘要:递归是一种解决问题的方法,它解决问题的各个小部分,直到解决最初的大问题。通常涉及 函数调用自身。 能够像下面这样直接调用自身的方法或函数,是递归函数: var recursiveFunction = function(someParam){ recursiveFunction(someParam); }; 能够像下面这样间接调用自身的函数,也是递归函数: var recursiv... 阅读全文
posted @ 2017-06-21 09:59 鱼肥肥与肥肥鱼 阅读(310) 评论(0) 推荐(0)
摘要:TypeScript方式实现源码 1 class Graph { 2 vertices = []; 3 adjList = new Dictionary(); 4 public addVertex(v) { 5 this.vertices.push(v); 6 this.adjList.set(v, 阅读全文
posted @ 2017-06-12 11:14 鱼肥肥与肥肥鱼 阅读(157) 评论(0) 推荐(0)
摘要:TypeScript方式实现源码 1 // 二叉树与二叉树搜索 2 class Node { 3 key; 4 left; 5 right; 6 constructor(key) { 7 this.key = key; 8 this.left = null; 9 this.right = null; 阅读全文
posted @ 2017-06-11 12:35 鱼肥肥与肥肥鱼 阅读(444) 评论(0) 推荐(0)
摘要:散列表和散列映射是一样的,我们已经在本章中介绍了这种数据结构。 在一些编程语言中,还有一种叫作散列集合的实现。散列集合由一个集合构成,但是插入、 移除或获取元素时,使用的是散列函数。我们可以重用本章中实现的所有代码来实现散列集合, 不同之处在于,不再添加键值对,而是只插入值而没有键。例如,可以使用散列集合来存储所有 的英语单词(不包括它们的定义) 。和集合相似,散列集合只存储唯一的不重复的值。... 阅读全文
posted @ 2017-06-09 17:56 鱼肥肥与肥肥鱼 阅读(649) 评论(0) 推荐(0)
摘要:TypeScript方式实现源码 1 /** 2 * 散列表 3 * @desc 与Set类相似,ECMAScript 6同样包含了一个Map类的实现,即我们所说的字典 4 */ 5 class HashTable { 6 private table = []; 7 public put(key, 阅读全文
posted @ 2017-06-09 17:52 鱼肥肥与肥肥鱼 阅读(453) 评论(0) 推荐(0)
摘要:TypeScript方式实现源码 1 /** 2 * 字典 3 * @desc 与Set类相似,ECMAScript 6同样包含了一个Map类的实现,即我们所说的字典 4 */ 5 class Dictionary { 6 private items = {}; 7 public set(key, 阅读全文
posted @ 2017-06-09 17:40 鱼肥肥与肥肥鱼 阅读(615) 评论(0) 推荐(0)
摘要:TypeScript方式实现源码 // 特性: // 1. 集合是由一组无序且唯一(即不能重复)的项组成的。这个数据结构使用了与有限集合相同的数学概念,但应用在计算机科学的数据结构中。 // 2. 也可以把集合想象成一个既没有重复元素,也没有顺序概念的数组 // 3. 在数学中,集合也有并集、交集、 阅读全文
posted @ 2017-06-09 16:30 鱼肥肥与肥肥鱼 阅读(232) 评论(0) 推荐(0)
摘要:TypeScript方式实现源码 1 class Node { 2 element; 3 next; 4 prev; // 新增的 5 constructor(element) { 6 this.element = element; 7 this.next = null; 8 this.prev = 阅读全文
posted @ 2017-06-09 15:05 鱼肥肥与肥肥鱼 阅读(188) 评论(0) 推荐(0)
摘要:TypeScript方式实现源码 1 class Node { 2 element; 3 next; 4 constructor(element) { 5 this.element = element; 6 this.next = null; 7 } 8 } 9 class LinkedList { 阅读全文
posted @ 2017-06-09 11:20 鱼肥肥与肥肥鱼 阅读(213) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2017-06-08 18:06 鱼肥肥与肥肥鱼 阅读(125) 评论(0) 推荐(0)
摘要:实现击鼓传花,需要用到上一章所述队列类Queue TypeScript方式实现源码 JavaScript方式实现源码 阅读全文
posted @ 2017-06-08 17:36 鱼肥肥与肥肥鱼 阅读(402) 评论(2) 推荐(0)
摘要:TypeScript方式实现源码 JavaScript方式实现源码 阅读全文
posted @ 2017-06-08 16:59 鱼肥肥与肥肥鱼 阅读(692) 评论(1) 推荐(0)
摘要:TypeScript方式源码 JavaScript方式源码 阅读全文
posted @ 2017-06-08 16:33 鱼肥肥与肥肥鱼 阅读(250) 评论(0) 推荐(0)
摘要:TypeScript版本源码 TypeScript版本调用 JavaScript版本源码 阅读全文
posted @ 2017-06-08 15:34 鱼肥肥与肥肥鱼 阅读(217) 评论(0) 推荐(0)