回到顶部 Fork me on GitHub

随笔分类 -  数据结构—JavaScript描述

用原生JavaScript来实现一些常见的数据结构。
原生JS实现集合结构
摘要:1. 前言 集合是由一组无序且唯一(即不能重复)的项组成的。你可以把集合想象成一个既没有重复元素,也没有顺序概念的数组。在ES6中已经内置了集合这一数据结构—— 。接下来,我们就用原生JS来实现这一数据结构。 2. 创建集合类 首先,我们先创建一个集合类,并且为其声明一些实例方法,如下: 在上述代码 阅读全文

posted @ 2019-09-09 19:42 难凉热血,码梦为生! 阅读(782) 评论(0) 推荐(0)

原生JS实现二叉搜索树(Binary Search Tree)
摘要:1.简述 二叉搜索树树(Binary Search Tree) ,它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。 2.代码说明 首先先创 阅读全文

posted @ 2018-12-21 18:23 难凉热血,码梦为生! 阅读(983) 评论(0) 推荐(0)

原生JS实现双向链表
摘要:1.前言 双向链表和单向链表的区别在于,在链表中,一个节点只有链向下一个节点的链接,而在双向链表中,链接是双向的:一个链向下一个元素,另一个链向前一个元素,如下图所示: 从图中可以看到,双向链表中,在每个节点 里有 属性(指向上一个节点的指针)和 属性(指向下一个节点的指针),并且在链表中也有 属性 阅读全文

posted @ 2018-12-20 15:46 难凉热血,码梦为生! 阅读(324) 评论(0) 推荐(0)

原生JS实现栈结构
摘要:1. 前言 栈,是一种遵从后进先出(LIFO,Later-In-First-Out)原则的有序集合。新添加的元素都保存在栈的一端,称作栈顶,另一端叫做栈底。在栈中,新元素都靠近栈顶,旧元素都靠近栈底。 2. 功能说明 push(value):添加一个新元素到栈顶 pop():移除栈顶的元素,同时返回 阅读全文

posted @ 2018-08-12 14:24 难凉热血,码梦为生! 阅读(1148) 评论(0) 推荐(0)

原生JS实现队结构及利用队列模拟‘击鼓传花’游戏
摘要:1. 前言 队列,是一种遵从先进先出(FIFO,First-In-First-Out)原则的有序集合。队列在尾部添加新元素,并从顶部移除元素,最新添加的元素必须排在队列的末尾。 2.功能说明 enqueue(value):进队,添加一个新元素到队列末尾 dequeue():出队,移除队列中的第一个元 阅读全文

posted @ 2018-08-12 14:18 难凉热血,码梦为生! 阅读(782) 评论(0) 推荐(0)

原生JS实现单向链表
摘要:1.前言 用JS实现一个简单的单向链表,并完成相关的功能 2.功能说明 push(value):从链表尾部添加一个新的节点 insertAfer(value,item):向链表中的item节点之后插入一个 值为value的新节点 remove(value):删除链表中值为value的节点 remov 阅读全文

posted @ 2018-08-12 14:08 难凉热血,码梦为生! 阅读(3389) 评论(0) 推荐(0)

导航