0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

常见的数据结构有哪些

jf_78858299 来源: JS每日一题 作者: 灰灰 2023-04-06 17:26 次阅读

一、是什么

数据结构是计算机存储、组织数据的方式,是指相互之间存在一种或多种特定关系的数据元素的集合

前面讲到,一个程序 = 算法 + 数据结构,数据结构是实现算法的基础,选择合适的数据结构可以带来更高的运行或者存储效率

数据元素相互之间的关系称为结构,根据数据元素之间关系的不同特性,通常有如下四类基本的结构:

  • 集合结构:该结构的数据元素间的关系是“属于同一个集合”
  • 线性结构:该结构的数据元素之间存在着一对一的关系
  • 树型结构:该结构的数据元素之间存在着一对多的关系
  • 图形结构:该结构的数据元素之间存在着多对多的关系,也称网状结构

由于数据结构种类太多,逻辑结构可以再分成为:

  • 线性结构:有序数据元素的集合,其中数据元素之间的关系是一对一的关系,除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的
  • 非线性结构:各个数据元素不再保持在一个线性序列中,每个数据元素可能与零个或者多个其他数据元素发生关联

图片

二、有哪些

常见的数据结构有如下:

  • 数组
  • 队列
  • 链表
  • 散列表

数组

在程序设计中,为了处理方便, 一般情况把具有相同类型的若干变量按有序的形式组织起来,这些按序排列的同类数据元素的集合称为数组

一种特殊的线性表,只能在某一端插入和删除的特殊线性表,按照先进后出的特性存储数据

先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据

队列

跟栈基本一致,也是一种特殊的线性表,其特性是先进先出,只允许在表的前端进行删除操作,而在表的后端进行插入操作

链表

是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的

链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成

一般情况,每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域

树是典型的非线性结构,在树的结构中,有且仅有一个根结点,该结点没有前驱结点。在树结构中的其他结点都有且仅有一个前驱结点,而且可以有两个以上的后继结点

一种非线性结构。在图形结构中,数据结点一般称为顶点,而边是顶点的有序偶对。如果两个顶点之间存在一条边,那么就表示这两个顶点具有相邻关系

堆是一种特殊的树形数据结构,每个结点都有一个值,特点是根结点的值最小(或最大),且根结点的两个子树也是一个堆

散列表

若结构中存在关键字和K相等的记录,则必定在f(K)的存储位置上,不需比较便可直接取得所查记录

三、区别

上述的数据结构,之前的区别可以分成线性结构和非线性结构:

  • 线性结构有:数组、栈、队列、链表等
  • 非线性结构有:树、图、堆等
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    6512

    浏览量

    87601
  • 数据结构
    +关注

    关注

    3

    文章

    564

    浏览量

    39900
  • 计算机存储
    +关注

    关注

    0

    文章

    13

    浏览量

    6806
收藏 人收藏

    评论

    相关推荐

    盘点几种常见数据结构

    这里主要总结下在工作中常碰到的几种数据结构:Array,ArrayList,List,LinkedList,Queue,Stack,Dictionary。
    的头像 发表于 05-13 15:58 5686次阅读
    盘点几种<b class='flag-5'>常见</b>的<b class='flag-5'>数据结构</b>

    数据结构

    1.数据结构的概念 所谓数据结构是指由某一数据对象及该对象中所有数据成员之间的关系组成的集合。成员之间的关系很多种,最
    发表于 03-04 14:13

    常见数据结构

    `数据结构在实际应用中非常常见,现在各种算法基本都牵涉到数据结构,因此,掌握数据结构算是软件工程师的必备技能。一、什么是数据结构
    发表于 05-10 07:58

    基于AJAX的动态树状菜单的设计

    树状菜单是Web应用系统中常见数据结构,但由于传统的Web应用采用同步交互模式,使对菜单的操作总是伴随着页面刷新,不仅浪费资源,而且降低系统性能,针对这个问题,通过分析
    发表于 06-22 10:47 0次下载
    基于AJAX的动态树状菜单的设计

    C语言基础教程之链表

    (一)什么是链表? 链表是一种常见的基础数据结构,是一种线性表,是一种在物理存储单元上非连续非顺序的存储结构。 链表有一系列节点构成,节点在运行时动态生成,每个节点包括数据域,
    发表于 11-16 10:22 2059次阅读

    数据结构是什么_数据结构有什么用

    数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高
    发表于 11-17 14:45 1.6w次阅读
    <b class='flag-5'>数据结构</b>是什么_<b class='flag-5'>数据结构</b>有什么用

    什么是数据结构?为什么要学习数据结构数据结构的应用实例分析

    本文档的主要内容详细介绍的是什么是数据结构?为什么要学习数据结构数据结构的应用实例分析包括了:数据结构在串口通信当中的应用,数据结构在按键
    发表于 09-26 15:45 14次下载
    什么是<b class='flag-5'>数据结构</b>?为什么要学习<b class='flag-5'>数据结构</b>?<b class='flag-5'>数据结构</b>的应用实例分析

    带你轻松理解数据结构与算法系列

      主要使用图片来描述常见数据结构和算法,轻松阅读并理解掌握。本系列包括各种堆、各种队列、各种列表、各种树、各种图、各种排序等等。
    发表于 08-01 17:34 2次下载
    带你轻松理解<b class='flag-5'>数据结构</b>与算法系列

    堆和栈的增长方向为什么通常是相反的?

    数据结构中,堆(heap)与栈(stack)是两个常见数据结构,它们的存在都是为了优化内存,提高使用效率,各有特点,理解二者的定义、用法与区别,能够利用堆与栈解决很多实际问题。
    的头像 发表于 02-15 15:08 5663次阅读
    堆和栈的增长方向为什么通常是相反的?

    算法和数据结构基础知识分享(上)

    有哪些常见数据结构?基本操作是什么?常见的排序算法是如何实现的?各有什么优缺点?本文简要分享算法基础、常见数据结构以及排序算法。
    的头像 发表于 04-06 16:48 584次阅读
    算法和<b class='flag-5'>数据结构</b>基础知识分享(上)

    算法和数据结构基础知识分享(中)

    有哪些常见数据结构?基本操作是什么?常见的排序算法是如何实现的?各有什么优缺点?本文简要分享算法基础、常见数据结构以及排序算法。
    的头像 发表于 04-06 16:48 390次阅读
    算法和<b class='flag-5'>数据结构</b>基础知识分享(中)

    算法和数据结构基础知识分享(下)

    有哪些常见数据结构?基本操作是什么?常见的排序算法是如何实现的?各有什么优缺点?本文简要分享算法基础、常见数据结构以及排序算法。
    的头像 发表于 04-06 16:48 553次阅读
    算法和<b class='flag-5'>数据结构</b>基础知识分享(下)

    嵌入式技术数据结构常见的树有哪些?

    数据库中非常核心的一个部分,就是索引结构的设计——这几乎决定了数据库的应用领域。而索引结构的设计,又是数据结构和算法的“重灾区”。下面我们就
    发表于 05-29 10:30 279次阅读
    嵌入式技术<b class='flag-5'>数据结构</b>中<b class='flag-5'>常见</b>的树有哪些?

    同步计数器和异步计数器各有什么特点

    同步计数器和异步计数器是两种常见数据结构,它们都用于控制对共享资源的访问。它们的主要作用是实现多个线程之间的同步和并发控制。尽管它们都被用于同步的目的,但它们有很多不同的特点和用例。 同步计数器
    的头像 发表于 12-15 10:49 655次阅读

    数组和链表在内存中的区别 数组和链表的优缺点

    数组和链表在内存中的区别 数组和链表的优缺点  数组和链表是常见数据结构,用于组织和存储数据。它们在内存中的存储方式以及优缺点方面存在一些显著的差异。本文将详细探讨这些差异以及它们的优缺点。 1.
    的头像 发表于 02-21 11:30 263次阅读