数据结构(二)

本文详细介绍了TypeArray的定义与用途,它是二进制数据的类数组视图。接着阐述了栈的数据结构,其特点是先进后出,常用于临时存储数据。链表的类型包括单链表和双链表,通过指针连接不连续的内存空间。链表的节点插入和删除操作也进行了说明。最后,讨论了二叉树的特性,如其结点结构及遍历方法,并举例说明了在表达式求值中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.TypeArray

含义:

一种类数组类型,是二进制数据类型集合的总称

作用:

描述一个底层的二进制数据缓存区的一个类似数组视图

 

2. 栈

作用:

暂时存储数据

特点:

  • 先进后出,后进先出
  • 将数据元素放到栈里,叫做压栈
  • 将数据元素取出时,叫做弹栈

3.链表

类型:

  • 单链表
  • 双链表

释义:

  • 多个元素组成的列表
  • 元素存储不连续,用next指针连接到一起
  • JS中没有链表,但是可以用Object模拟链表

链表删除节点和插入节点

删除节点
原理:从链表中删除一个元素也很简单,将待删除元素的前驱节点指向待删除元素的后继节点,同时将待删除元素指向null,元素就删除成功了。

插入节点
原理:向链表中插入一个节点,需要修改它前面的节点(前驱),使其指向新加入的节点,而新加入的节点则指向原来前驱指向的节点。

链表和数组的区别

链表是一种常见的数据组织形式,它采用动态分配内存的形式实现。链表是靠指针来连接多块不连续的的空间,在逻辑上形成一片连续的空间来存储数据。需要时可以用new分配内存空间,不需要时用delete将已分配的空间释放,不会造成内存空间的浪费。

储存方式:数组在内存中是连续分布的,但是链表在内存中可不是连续分布

4.二叉树

特性:

  • 每个结点有多个或者零个子结点
  • 没有父结点的结点成为根结点,没有子结点的结点成为叶结点
  • 每一个非根结点只有一个父结点
  • 每个结点及其后代结点整体上可以看做是一棵树,称为当前结点为根的子树

遍历:

前序遍历/中序遍历/后续遍历

 

应用场景:

  • 解决算法表达式的应用采用中序遍历。
  • 计算表达式的值采用后续遍历,遇到数值则入栈,遇到运算符时则取栈顶两个元素计算后在入栈。
  • 根据二叉树的前序遍历(或后序遍历)和中序遍历可以确定唯一的二叉树的结构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值