TypeArray
定义
一种类数组类型,是二进制数据类型集合的总称。
TypeArray对象
Set
set 是一个构造函数, 通过new关键字来创建实例, 用来保存唯一的值
创建Set数据结构
const s = new Set();
set函数可以接收一个数组作为参数,用来初始化
const s =new Set([1,2,3,3,4,5,5,6]);
console.log(s);//1,2,3,4,5,6
console.log(s.size);//6
set也可以进行数组去重
let arr =[1,22,33,33,4,55];
let set = new Set(arr);
console.log(set);//1,22,33,4,55
console.log([...set]);//[1,22,33,4,55]
set增删改查
const x = new Set();
//add:添加
x.add('a').add('b');
console.log(x.size);//2
console.log(x);//a,b
//delete:删除
const result =x.delete('a');
console.log(result);//true
console.log(x.size);//1
console.log(x);//b
//has:判断是否有其成员 hava-has
const resultOne = x.has('a');
const resultTwo = x.has('b');
console.log(resultOne);//false
console.log(resultTwo);//true
//clear:清空成员
x.clear();
console.log(x.size);//0
栈
定义
栈是一种“先进后出”的线性数据结构。栈只有一端能够进出元素。能进出元素的一端叫栈顶,不能进出元素的一端叫栈底。当我们添加或者删除元素的时候,只能从栈顶操作。
上图就是一个栈,栈里面有三个元素。其中 3 号元素是栈顶,1 号元素栈底。只有当前元素是栈顶的时候才能出栈。所以上图只有 3 号元素可以出栈。如果 3 号元素出栈,那么栈顶就会变成 2 号元素。
这时候,我梦们发现,栈有先进后出,后进先出
的特点
链表
概念
链表是一种 物理存储结构上非连续 、非顺序的存储结构,数据元素的 逻辑顺序 是通过链表中的 指针链 接 次序实现的 。
创建链表
const a = { val:'a' };
const b = { val:'b' };
const c = { val:'c' };
a.next = b;
b.next = c;
链表插入&删除
//插入
const e ={val:'e'};
b.next = e;
e.next = c;
//删除e
b.next = c;
二叉数
概念
一棵二叉树是结点的一个有限集合,该集合或者为空,或者是由一个根节点加上两棵别称为左子树和右子树的二叉树组成。
特点
1,每个结点最多有两棵子树,即二叉树不存在度大于2的结点。
2,二叉树的子树有左右之分,其子树的次序不能颠倒。
二叉树的存储结构
1.顺序存储
顺序结构存储就是使用数组来存储,一般使用数组只适合表示完全二叉树,因为不是完全二叉树会有空间的浪费。而现实中使用中只有堆才会使用数组来存储。二叉树顺序存储在物理上是一个数组,在逻辑上是一颗二叉树。
2.链式存储
二叉树的链式存储结构是指,用链表来表示一棵二叉树,即用链来指示元素的逻辑关系。 通常的方法是链表中每个结点由三个域组成,数据域和左右指针域,左右指针分别用来给出该结点左孩子和右孩子所在的链结点的存储地址 。