常见的数据结构
发布日期:2021-06-27 12:55:54 浏览次数:28 分类:技术文章

本文共 811 字,大约阅读时间需要 2 分钟。

文章目录

常见的数据结构

常用数据结构有栈、队列、数组、链表和红黑树。

**栈(Stack):**又名堆栈。栈是限定从表尾进行插入和删除操作的线性表。即允许插入和删除的一端为栈顶,另一端则为栈底。不含任何元素的栈为空栈、

栈的特点: 先进后出,栈的入口、出口的都是栈的顶端位置

即先存入的元素后出(详细见下图)

在这里插入图片描述

队列

**队列(queue):**简称队,是一种特殊的线性表。在队尾插入元素,队头删除元素。空队列是不含元素的空表。

队列的特点:

  • 先进先出
  • 队列的入口、出口各占一侧
    在这里插入图片描述

数组

**数组(Array):**有序的元素序列。数组是在内存中开辟一段连续的空间,在该空间中存放元素。

数组的特点:

  • 查找元素快,通过索引可以快速访问指定位置的元素
  • 增删元素慢
    -指定索引位置增加元素: 需要创建一个新数组,将指定新元素存储在指定索引位置,再把原数组元素根据索引,复制到新数组对应索引的位置。
    -指定索引位置删除元素: 需要创建一个新数组,将原数组元素根据索引,复制到新数组对应索引的位置,原数组中指定索引位置元素不复制到新数组中,即完成指定的删除操作

链表

链表(Linked List): 由一些列结点node(链表中的每一个元素为结点)组成,结点可以再运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。链表结构有单向链表与双向链表。

在这里插入图片描述
链表特点:

  • 查找元素慢,查找元素时,需要通过连接的节点,依次向后查找指定元素
  • 增删元素快

红黑树

二叉树(binary tree): 是每个结点不超过2的有序树

在这里插入图片描述

关于红黑树的约束:

  • 结点可以是红色或者黑色的
  • 根节点必须是黑色的
  • 叶子结点(特指空结点)是黑色的
  • 每个红色节点的子节点都是黑色的
  • 任何一个节点到其中每一个叶子节点的所有路径上黑色结点数相同

红黑树的特点: 速度特别快,趋近平衡树,查找叶子元素最少和最多次数不多于二倍

转载地址:https://blog.csdn.net/weixin_43454088/article/details/116333444 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Collection集合
下一篇:链表与二叉树

发表评论

最新留言

很好
[***.229.124.182]2024年04月07日 20时14分04秒