1.TypeArray
含义:
一种类数组类型,是二进制数据类型集合的总称
作用:
描述一个底层的二进制数据缓存区的一个类似数组视图
2. 栈
作用:
暂时存储数据
特点:
- 先进后出,后进先出
- 将数据元素放到栈里,叫做压栈
- 将数据元素取出时,叫做弹栈
3.链表
类型:
- 单链表
- 双链表
释义:
- 多个元素组成的列表
- 元素存储不连续,用next指针连接到一起
- JS中没有链表,但是可以用Object模拟链表
链表删除节点和插入节点
删除节点
原理:从链表中删除一个元素也很简单,将待删除元素的前驱节点指向待删除元素的后继节点,同时将待删除元素指向null,元素就删除成功了。
插入节点
原理:向链表中插入一个节点,需要修改它前面的节点(前驱),使其指向新加入的节点,而新加入的节点则指向原来前驱指向的节点。
链表和数组的区别
链表是一种常见的数据组织形式,它采用动态分配内存的形式实现。链表是靠指针来连接多块不连续的的空间,在逻辑上形成一片连续的空间来存储数据。需要时可以用new分配内存空间,不需要时用delete将已分配的空间释放,不会造成内存空间的浪费。
储存方式:数组在内存中是连续分布的,但是链表在内存中可不是连续分布的
4.二叉树
特性:
- 每个结点有多个或者零个子结点
- 没有父结点的结点成为根结点,没有子结点的结点成为叶结点
- 每一个非根结点只有一个父结点
- 每个结点及其后代结点整体上可以看做是一棵树,称为当前结点为根的子树
遍历:
前序遍历/中序遍历/后续遍历
应用场景:
- 解决算法表达式的应用采用中序遍历。
- 计算表达式的值采用后续遍历,遇到数值则入栈,遇到运算符时则取栈顶两个元素计算后在入栈。
- 根据二叉树的前序遍历(或后序遍历)和中序遍历可以确定唯一的二叉树的结构。