数据结构与算法
小鸟爱吃米
我是一只小小小小鸟
展开
-
数据结构与算法JavaScript - 栈
栈是一种特殊的列表,栈内的元素只能通过列表的栈顶访问,高效。 栈是一种高效的、后入先出的数据结构(LIFO,last-in-first-out) 对栈的操作常用的主要有:元素压入栈 push()元素弹出栈 pop() 预览栈顶元素 peek(),如果是空栈返回 undefined;栈的实现定义栈的构造函数function stack() { this.dataStore = [];原创 2016-07-25 17:48:40 · 444 阅读 · 0 评论 -
数据结构与算法JavaScript - 二叉树和二叉查找树
树是计算机科学中常用到的一种原创 2016-07-28 18:01:32 · 2713 阅读 · 1 评论 -
数据结构与算法JavaScript - 列表
什么时候使用列表: 当不需要在一个很长的序列中查找元素,或者对其进行排序是,选择使用列表列表是一组有序的数据,每个列表中的数据项称之为元素。列表的抽象数据类型定义如下:listSize(属性): 列表的元素个数pops(属性):列表的当前位置length(属性):返回列表中元素的个数clear(方法):情况列表中的所有元素toString(方法):返回列表的字符串形式getEleme原创 2016-07-22 17:45:34 · 450 阅读 · 0 评论 -
数据结构与算法JavaScript - 集合
集合(set)是一种包含不同元素的数据结构。集合中的元素称为成员。 集合两个重要特性:集合中的成员是无序的;集合中不允许相同的成员存在;集合的定义:不包含任何成员的集合称为 空集,全集 则是包含一切可能成员的集合;如果两个集合的成员完全相同,则称两个集合相等;如果一个集合中所有的成员都属于另外一个集合,则前一个集合称为后一集合的子集;JS在ES2015版本中,添加了Set()数据结构原创 2016-07-28 15:36:28 · 412 阅读 · 0 评论 -
数据结构与算法JavaScript - 散列
散列是一种常用的数据存储技术,散列后的数据可以快速的插入或取用。散列使用的数据结构叫做散列表。 在散列表上插入、删除和取用数据都非常快,但是对于查找操作来说却效率低下。 散列表是机遇数组进行设计的,数组长度是预先设定的,所有的元素根据和该元素对应的键,保存在数组的特定位置,该键和我们前面讲到的字典中的键是类似的概念。 使用散列表存储数据时,通过一个散列函数将键映射为一个数字,这个数字的范围是原创 2016-07-28 15:04:10 · 446 阅读 · 0 评论 -
数据结构与算法JavaScript - 字典
字典是一种以 键-值对 形式存储数据的数据结构 JavaScript中的 Object 类就是以字典的形式设计的。 字典 Dictionay 类的基础是Array类,而不是Object类,但是在js中一切皆对象。原创 2016-07-28 11:34:16 · 420 阅读 · 0 评论 -
数据结构与算法JavaScript - 链表
数组不是组织数据的最佳数据结构,js中的数组与其它语言中的数组不同,他被实现成了对象,与其它语言相比,js中的数组效率很低。 如果发现数组效率很低时,我们可以使用链表来代替任何可以使用一维数组的情况,但是如果需要随机访问,数组仍然是最佳选择。链表链表是由一组节点组成的集合,每个节点都使用一个对象都引用指向他的后继,指向另一个节点的引用叫做链。链表元素考相互之间的关系进行引用。遍历链表,就是跟原创 2016-07-28 09:24:25 · 398 阅读 · 0 评论 -
数据结构与算法JavaScript
对于现在很多的前端工程师来说,都是非科班出身,对于数据结构和算法都不是很了解,我自己也是如此,所以专门系统的学习了一下js中的数据结构和算法。 在学习之前我对数据结构的认识,仅限于数组啊、或是对象之类的,有时解决一些复杂的问题,数组就显得过于简陋,在学习过程中我发现:对于很多编程问题,当我们想出一个合适的数据结构,设计和实现解决这些问题的算法就变的手到擒来。下面我就来给系统的介绍一下:数据结构和算原创 2016-07-28 09:10:56 · 414 阅读 · 0 评论 -
数据结构与算法JavaScript - 队列
队列是一种列表,只能在队尾插入元素,在队首删除元素。队列用于存储按顺序排列的数据,先进先出(FIFO, First-In-First-out)的数据结构。原创 2016-07-25 18:34:53 · 559 阅读 · 0 评论 -
数据结构与算法JavaScript - 基本排序算法分析
javascript数据结构与算法–基本排序算法分析javascript中的基本排序算法对计算机中存储的数据执行的两种最常见操作是排序和检索,排序和检索算法对于前端开发尤其重要,对此我会对这两种算法做深入的研究,而不会和书上一样只是会贴代码而已,下面我会一步步从自己的理解的思路来一步步学习各个排序的思想。不过这些算法依赖于javascript中的数组来存储数据。最后我会来测试下基本算法(冒泡排序,选转载 2016-07-29 14:50:02 · 472 阅读 · 0 评论