自定义博客皮肤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 273 1

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

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

2019-01-01 17:03:44 253

原创 js数据结构--链表

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

2018-12-30 15:06:48 492

原创 js数据结构-队列

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

2018-12-29 14:59:03 196

原创 js数据结构-栈

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

2018-12-29 14:55:03 142

空空如也

空空如也

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

TA关注的人

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