常用数据结构优缺点

  1. 数组(array),数组是有序元素的序列,在内存中分配是连续的。

数组的优点:查询速度快,增删慢,适用于频繁查询,增删较少的情况。

  1. 链表(linked list),链表由一系列节点Node(也称元素)组成,数据的逻辑顺序是通过链表的指针地址实现,通常情况下,每个节点包括两个部分,一个是存储元素的内存地址,叫数据域,另一个指向相邻节点地址的指针,叫指针域。根据链表的指向不同分为:单向链表、双向链表、循环链表等。

链表的优点:新增节点、删除节点快。

链表缺点:查询速度慢,链表相对于数组多了指针域的开销,内存占用相对较大

  1. 栈(Stack),一种特殊的线性表,只能在线性表的一端进行操作,栈顶允许操作,栈底不允许操作,栈的特点是:先进后出。

  1. 队列(queue),线性表,先进先出

  1. 树,由N(N>=1)个有限节点组成一个具有层次关系的集合,特点:

*每个节点有0或者多个个子节点

*没有父节点的节点称为根节点

*每一个非根节点有且只有一个父节点

*除了根节点外,每个子节点可以分为多个不相交的子树

*右子树永远比左子树大,读取顺序从左往右

二叉树的特点是:每个节点最多有两个子树

  1. 堆(heap),怼可以看作是用数组实现的二叉树,他没有父指针或子指针,堆根据“堆属性“排序,”堆属性“决定了树中心节点的位置。

7.散列表(Hash),也叫哈希表,是根据键和值 (key和value) 直接进行访问的数据结构,通过key和value来映射到集合中的一个位置,这样就可以很快找到集合中的对应元素。它利用数组支持按照下标访问的特性,所以散列表其实是数组的一种扩展,由数组演化而来。

散列表首先需要根据key来计算数据存储的位置,也就是数组索引的下标

8.图(Graph):图是一系列顶点(元素)的集合,这些顶点通过一系列边连接起来组成图这种数据结构。顶点用圆圈表示,边就是这些圆圈之间的连线。顶点之间通过边连接。

图分为有向图和无向图:

有向图:边不仅连接两个顶点,并且具有方向;

无向图:边仅仅连接两个顶点,没有其他含义;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值