自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 js数据结构-二叉树(二叉堆)

原文链接 二叉树 二叉树(Binary Tree)是一种树形结构,它的特点是每个节点最多只有两个分支节点,一棵二叉树通常由根节点,分支节点,叶子节点组成。而每个分支节点也常常被称作为一棵子树。 根节点:二叉树最顶层的节点 分支节点:除了根节点以外且拥有叶子节点 叶子节点:除了自身,没有其他子节点 常用术语 在二叉树中,我们常常还会用父节点和子节点来描述,比如图中2为6和3的父节点,反之6和3...

2019-01-04 17:48:14 267 1

原创 js数据结构-散列表(哈希表)

散列表 散列表(Hash table,也叫哈希表),是根据键(Key)而直接访问在内存存储位置的数据结构。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表。 我们从上图开始分析 有一个集合U,里面分别是1000,10,152,9733,1555,997,1168 右侧是一个10个插槽的...

2019-01-01 17:03:44 250

原创 js数据结构--链表

链表和数组 大家都用过js中的数组,数组其实是一种线性表的顺序存储结构,它的特点是用一组地址连续的存储单元依次存储数据元素。而它的缺点也正是其特点而造成,比如对数组做删除或者插入的时候,可能需要移动大量的元素。 这里大致模拟一下数组的插入操作: insert(arr, index, data){ for(let i = index + 1; i < arr.lengt...

2018-12-30 15:06:48 487

原创 js数据结构-队列

队列 上一篇数据结构讲到了栈,队列和栈非常类似。队列也是一种特殊的列表,它与栈的区别在于,栈是先入后出,而队列则是遵循FIFO先入先出的原则,换言之队列只能在队尾插入元素,而在队列的头部去删除元素。 举个简单的例子,队列就相当于在生活中排队购物,后来的人需要排在队尾,而队伍最前面的人会一次结账后出列。队列的应用非常广泛,常用于实现缓冲区,广度优先搜索,优先级队列等等。 队列最主要的两个操作分别是e...

2018-12-29 14:59:03 194

原创 js数据结构-栈

栈 栈是一种遵循后进先出(LIFO)的数据结构,其总共就两个主要的操作,分别是push和pop。 看上面这张图可以大致的知道,栈的几个特点: 初始化: 有一块连续的存储空间 栈顶 栈的长度 push操作: 向栈中添加新的元素 栈顶向后挪动一个位置,指向最新的数据地址 如果栈满了继续push的化,会抛出overflow的错误 pop操作: 返回栈顶数据 栈顶向前挪动一个位置,...

2018-12-29 14:55:03 139

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除