随笔分类 - javascript数据结构与算法笔记
摘要:集合以[值,值]的形式存储元素,而字典和散列表以[键,值]的形式存储元素 一、字典 创建字典 function Dictionary() { var items = {}; / has(key)如果某个键值存在于这个字典中,则返回true / this.has = function(key) { r
阅读全文
摘要:集合无序,元素唯一,以[值,值]的形式存储元素 创建集合 function Set() { var items = {}; / 判断值是否在集合中 / this.has = function(value) { return value in items; }; / this.has = functi
阅读全文
摘要:链表存储有序的元素集合,但不同于数组,链表中的元素在内存中并不是连续放置的。 单向链表 每个元素由一个存储元素本身的节点和一个指向下一个元素的引用(指针)组成 比如火车,每节车皮都是列表的元素,车皮间的连接就是指针 好处:添加和移除元素的时候不需要移动其他元素 坏处:想要访问链表中的一个元素,需要从
阅读全文
摘要:队列是遵循先进先出(FIFO)原则的一组有序的项 队列在尾部添加新元素,并从顶部移除元素 创建队列,并声明方法 function Queue() { var items = []; this.enqueue = function(element) { items.push(element); };
阅读全文
摘要:栈是一种遵从后进先出(LIFO)原则的有序集合 创建栈,并为栈声明方法 function Stack() { var items = []; //push()添加一个或多个元素到栈顶 this.push = function(element) { items.push(element); }; //
阅读全文
摘要:例子:求斐波拉契数列的前20个数字 前两个数字都是1,从第三项开始,每一项都等于前两项之和 var fibonacci = []; fibonacci[0] = 1; fibonacci[1] = 1; for (var i = 2; i = 0; i ) { numbers[i] = number
阅读全文

浙公网安备 33010602011771号