Typearray
TypedArray是一种通用的固定长度缓冲区类型,允许读取缓冲区中的二进制数据。
其在WEBGL规范中被引入用于解决Javascript处理二进制数据的问题。
// 下面代码是语法格式,不能直接运行,
// TypedArray 关键字需要替换为底部列出的构造函数。
new TypedArray(); // ES2017中新增
new TypedArray(length);
new TypedArray(typedArray);
new TypedArray(object);
new TypedArray(buffer [, byteOffset [, length]]);
// TypedArray 指的是以下的其中之一:
Int8Array();
Uint8Array();
Uint8ClampedArray();
Int16Array();
Uint16Array();
Int32Array();
Uint32Array();
Float32Array();
Float64Array();
栈
栈是一种“先进后出”的线性数据结构。栈只有一端能够进出元素。能进出元素的一端叫栈顶,不能进出元素的一端叫栈底。当我们添加或者删除元素的时候,只能从栈顶操作。
上图就是一个栈,栈里面有三个元素。其中 3 号元素是栈顶,1 号元素栈底。只有当前元素是栈顶的时候才能出栈。所以上图只有 3 号元素可以出栈。如果 3 号元素出栈,那么栈顶就会变成 2 号元素。
二叉树
树中节点最大的度,为2的数就叫做二叉树,也就是数的度为2的树
在二叉树中,一个节点最多有两颗子树,二叉树节点的度<=2
二叉树的有左右之分,且子树的次序不能颠倒,因此二叉树是有序树
创建二叉树的节点
二叉树包含 自身数据(data) 左节点(left) 右节点 (right) 显示自己的数据(show)
function no(data,left,right){
this.data = data;
this.left = left;
this.right = right;
this.show = show;
}
声明二叉树的构造函数
二叉搜索树 (binary search tree) 也叫二叉排列树
function bst(){
this.root = null;//默认节点为null
this.insert = insert;//插入操作
this.inOrder = inOrder;//中序遍历
this.getMin = getMin;//找出最小值
this.getMax = getMax;//找出最大值
this.find = find;//找出指定数据
}
Set
它类似于数组 但是成员的值都是唯一的 没有重复值
创建set数据结构 const s = new Set()
set函数可以接受一个数组作为参数 用来初始化
利用set进行数组去重:
let arr = [1,1,2,3,4,5,2]
let set = new Set(arr)
console.log(set);//Set(5)
console.log(...set);//[1,2,3,4,5]
set增删改查:
<script>
const s = new Set();
// add 添加
s.add('a').add('b')
// console.log(s.size);//2
// console.log(s);Set(2)
// delete 删除
const result = s.delete('a')
// console.log(result);//false
// console.log(s.size);//1
// console.log(s);Set(1)
// has 判断是否是其成员 have - has
const resultOne = s.has('a')
const resultTwo = s.has('b')
// console.log(resultOne);//false
// console.log(resultTwo);//true
// clear 清空成员
s.clear()
console.log(s.size);//0
</script>