javascript
Tilibo
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Javascript数据结构算法之二叉查找树BST(构造,遍历,查找,删除,计数)
树是一种非线性的数据结构,以分层的方式存储数据。树被用来存储具有层级关系的数据。树可以分为几层,根节点是第0层,我们定义树的层数就是树的深度。 二叉树是一种特殊的树,它的子节点个数不超过两个。二叉查找树(BST)是一种特殊的二叉树,相对较小的值保存在左节点中,较大的值保存在右节点中。在二叉树查找上进行查找非常快,为二叉树添加或删除元素非常快。BST的JS实现网页展示代码部分1.构造//B原创 2017-04-07 15:39:55 · 722 阅读 · 0 评论 -
Javascript数据结构算法之散列(霍纳算法,开链法,线性探测-寻址法)
使用散列存储数据时,通过一个散列函数将键映射为一个数字,这个数字的范围时0到散列表的长度。理想情况下,散列函数会将每个键值映射为唯一的数组索引。一个更现实的目标是将键均匀分布。 在散列上插入,删除和取用数据都非常快,但是对于查找操作效率低下。散列的JS实现 最经典的散列函数为霍纳算法+除留余数法。在该算法中,先计算字符串中个字符的ASCII码值,不过求和时要乘以一个质数。之后将和对散原创 2017-04-04 16:12:21 · 748 阅读 · 0 评论 -
Javascript数据结构算法之链表(约瑟夫环)
在很多编程语言中,数组的长度是固定的;在数组中添加和删除元素很麻烦。而Javascript数组并不存在上述问题,因为Javascript中,数组被实现为对象,而且拥有自己的一系列方法,例如push(),shift(),splice()。然而,Javascript中,数组的主要问题也是被实现成对象导致的效率低下。 链表是由一组节点组成,每个节点除了包括一个数据,还包括使用一个对象的引用指向它原创 2017-04-04 15:22:17 · 806 阅读 · 0 评论 -
Javascript数据结构算法之队列(舞伴分配,基数排序,模拟优先就诊病人)
栈是一种先进先出(FIFO)的数据结构,数据只能在队尾插入或者在队首删除。队列用在很多地方,比如提交操作系统的一系列进程,打印任务池等,一些仿真系统用队列模拟银行或杂货店排队的顾客。 接下来,将从3个方面来深入理解和使用栈这种数据结构。抽象数据类型定义队列的JS实现解决实际问题抽象数据类型定义 属性及方法 作用 enqueue() 在队尾插入元素 dequeue()原创 2017-04-04 14:53:15 · 2283 阅读 · 0 评论 -
Javascript数据结构算法之栈(进制转换,阶乘,后缀表达式,括号匹配)
栈是一种后入先出(LIFO)的数据结构,数据只能在栈顶添加或者删除,所以操作很快,容易实现。抽象数据类型定义栈的JS实现解决实际问题抽象数据类型定义 属性及方法 作用 push() 入栈 pop() 出栈 peek() 显示栈顶元素 dataStore 存储数据 top 记录栈的长度和位置栈的JS实现 使用构造器调用模式,这是一套类似类的对象原创 2017-03-11 16:24:40 · 836 阅读 · 0 评论 -
Javascript数据结构算法之数组基础篇
数组一个存储元素的线性集合。1. 创建数组var objects = [1, "joe", true, null];isArray() Array.isArray(objects);2. 读写数组数组的长度可以任意增长。3. 由字符串生成数组split()var sentence = "the quick brown fox jumped over the lazy pig";var words原创 2017-04-09 15:45:47 · 358 阅读 · 0 评论 -
Javascript数据结构算法之查找(自组织数据,二分查找法)
网页展示自组织数据 通过将成功找到的元素置于数据集的起始位置,可以保证在以后的操作中该元素能被更快的找到。 这部分代码是基于CArray()完成的,CArray是自己制作的数据测试平台,具体定义详见:http://blog.youkuaiyun.com/u011376293/article/details/69568333.//search.jsfunction seqSearch(){原创 2017-04-09 15:31:17 · 389 阅读 · 0 评论 -
Javascript数据结构算法之排序二(希尔排序,归并排序,快速排序)
在计算机中存储的数据执行的两种最常见操作是排序和检索。本文介绍了三种高级排序算法,其中原理参考逝者如斯,不舍昼夜的博客园。网页展示代码部分1.希尔排序//sort.jsfunction shellSort(){ var tempCArray = newData; var nums = tempCArray.numElements; var start = new Date原创 2017-04-07 16:15:45 · 575 阅读 · 0 评论 -
Javascript数据结构算法之排序一(冒泡排序,插入排序,选择排序)
在计算机中存储的数据执行的两种最常见操作是排序和检索。 本次介绍的是冒泡排序,插入排序,选择排序三种基本排序算法。其中外循环会遍历数组每一项,内循环则用于比较元素。其中原理参考逝者如斯,不舍昼夜的博客园。网页展示代码部分1.数组测试平台//CArray.jsfunction CArray(numElements){ this.dataStore = []; this.n原创 2017-04-07 16:02:13 · 596 阅读 · 0 评论 -
JavaScript语言精粹(一)(词法作用域,JSON及其服务器处理,document.write()与document.writeln()区别)
Why JavaScript?因为它是Web浏览器的语言。 因为它使一门拥有极强表达能力的语言。 浏览器的API和文档对象模型(DOM)相当糟糕—Q:怎么糟糕了?—连累JavaScript遭到不公平的指责。Analyzing JavaScript优秀的想法:函数;弱类型;动态对象;对象字面量表示法。 糟糕的想法:基于全局变量的编程模型。1.函数JS中函数基于词法作用域-lexical sc原创 2017-04-21 16:39:50 · 645 阅读 · 0 评论
分享