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

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

3天内不再提示

常见的数据结构有哪些

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

一、是什么

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

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

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

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

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

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

图片

二、有哪些

常见的数据结构有如下:

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

数组

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

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

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

队列

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

链表

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

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

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

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

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

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

散列表

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

三、区别

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

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

    关注

    8

    文章

    6786

    浏览量

    88705
  • 数据结构
    +关注

    关注

    3

    文章

    569

    浏览量

    40067
  • 计算机存储
    +关注

    关注

    0

    文章

    13

    浏览量

    6817
收藏 人收藏

    评论

    相关推荐

    数据结构

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

    常见数据结构

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

    数据结构教程,下载

    1. 数据结构的基本概念 2. 算法与数据结构3. C语言的数据类型及其算法描述要点4. 学习算法与数据结构的意义与方法
    发表于 05-14 17:22 0次下载
    <b class='flag-5'>数据结构</b>教程,下载

    数据结构教学软件

    数据结构教学软件:C语言,pascal语言两种。
    发表于 10-24 12:15 51次下载
    <b class='flag-5'>数据结构</b>教学软件

    数据结构与算法

    全国C语言考试公共基础知识点——数据结构与算法,该资料包含了有关数据结构与算法的全部知识点。
    发表于 03-30 14:27 0次下载

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

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

    数据结构常见的八大排序算法

    本文总结了数据结构常见的八大排序算法。详细分析请看下文
    发表于 02-05 15:26 1820次阅读
    <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>的应用实例分析

    大牛分享平时如何学习数据结构与算法

    数据结构与算法的地位对于一个程序员来说不言而喻。今天这篇文章不是来劝你们学习数据结构与算法的,也不是来和你们说数据结构与算法多重要。
    的头像 发表于 11-02 11:25 2945次阅读

    数据结构与算法知识点哪些?

    数据结构与算法的知识点哪些?
    的头像 发表于 01-10 15:22 8137次阅读

    数据结构哪些知识重点

    不管你现在是不是需要用到数据结构的相关知识,在工作的过程中理解、掌握好数据结构,对现在的工作和以后的发展都是帮助的。
    发表于 03-06 10:05 2328次阅读
    <b class='flag-5'>数据结构</b><b class='flag-5'>有</b>哪些知识重点

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

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

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

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

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

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

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

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