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

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

3天内不再提示

数据结构的三大要素

C语言编程学习基地 来源:C语言编程学习基地 作者:C语言编程学习基地 2022-04-24 16:25 次阅读

数据结构主要关注逻辑结构、数据的运算和物理结构(存储结构)。

926a8e78-c39f-11ec-bce3-dac502259ad0.jpg

01 逻辑结构

集合结构和数学中的集合概念类似,各个元素同属一个集合。

92770950-c39f-11ec-bce3-dac502259ad0.jpg

线性结构的元素像一条线。

928270ec-c39f-11ec-bce3-dac502259ad0.jpg

树形结构的元素就像一棵树,常见的思维导图、文件夹展开的目录都是树形结构。

92945fb4-c39f-11ec-bce3-dac502259ad0.jpg

图结构像一张网。

92ae14fe-c39f-11ec-bce3-dac502259ad0.jpg

02 数据的运算

数据的运算其实就是大家熟悉的增删改查,不过相比数据库现成的SQL,数据结构实现起来有很多细节需要考虑。

03 物理结构

物理结构是计算机存储的结构。

比如线性结构在底层需要物理结构来实现。

顺序存储把元素按顺序存储起来,这样元素的线性结构就体现出来了。

92b9e162-c39f-11ec-bce3-dac502259ad0.jpg

链式存储通过存储下一个元素的地址表示出元素间的线性结构。

92c6e2b8-c39f-11ec-bce3-dac502259ad0.jpg

索引存储用一张索引表来查出元素在内存中的位置。

92de4eb2-c39f-11ec-bce3-dac502259ad0.jpg

散列存储没有索引表,而是根据元素的关键字直接计算出该元素的存储地址,很厉害。

92eba9a4-c39f-11ec-bce3-dac502259ad0.jpg

审核编辑 :李倩

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

    关注

    3

    文章

    564

    浏览量

    39899
  • 计算机存储
    +关注

    关注

    0

    文章

    13

    浏览量

    6806

原文标题:编程通识:数据结构的三大要素,你都有所了解吗?

文章出处:【微信号:cyuyanxuexi,微信公众号:C语言编程学习基地】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    矢量与栅格数据结构各有什么特征

    矢量数据结构和栅格数据结构是地理信息系统(GIS)中最常用的两种数据结构。它们在存储和表示地理要素上有着不同的方法和特征。在接下来的文章中,我们将详细介绍这两种
    的头像 发表于 02-25 15:06 634次阅读

    C语言数据结构之跳表详解

    大家好,今天分享一篇C语言数据结构相关的文章--跳表。
    的头像 发表于 12-29 09:32 526次阅读
    C语言<b class='flag-5'>数据结构</b>之跳表详解

    redis数据结构的底层实现

    Redis是一种内存键值数据库,常用于缓存、消息队列、实时数据分析等场景。它的高性能得益于其精心设计的数据结构和底层实现。本文将详细介绍Redis常用的数据结构和它们的底层实现。 Re
    的头像 发表于 12-05 10:14 310次阅读

    不同数据结构的定义代码

    数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
    的头像 发表于 11-29 14:13 347次阅读

    redis的五种数据类型底层数据结构

    Redis是一种内存数据存储系统,支持多种数据结构。这些数据结构不仅可以满足常见的存储需求,还能够通过其底层数据结构提供高效的操作和查询。以下是Redis中常用的五种
    的头像 发表于 11-16 11:18 379次阅读

    ringbuffer数据结构介绍

    最近在研究srsLTE的代码,其中就发现一个有意思的数据结构------ringbuffer。 虽然,这是一个很基本的数据结构,但时,它在LTE这种通信协议栈系统中却大行其道,也是很容易被协议
    的头像 发表于 11-13 10:44 307次阅读
    ringbuffer<b class='flag-5'>数据结构</b>介绍

    epoll的基础数据结构

    一、epoll的基础数据结构 在开始研究源代码之前,我们先看一下 epoll 中使用的数据结构,分别是 eventpoll、epitem 和 eppoll_entry。 1、eventpoll 我们
    的头像 发表于 11-10 10:20 331次阅读
    epoll的基础<b class='flag-5'>数据结构</b>

    Linux内核中使用的数据结构

    Linux内核代码中广泛使用了数据结构和算法,其中最常用的两个是链表和红黑树。 链表 Linux内核代码大量使用了链表这种数据结构。链表是在解决数组不能动态扩展这个缺陷而产生的一种数据结构。链表
    的头像 发表于 11-09 14:24 203次阅读
    Linux内核中使用的<b class='flag-5'>数据结构</b>

    变长数据数据结构定义

    用方便的呢? GNU C 的0长度数组(变长数组/柔性数组)就是这样一个扩展. 对于 0长数组 的这个特点,很容易构造出变成结构体,如缓冲区,数据包等等: 数据结构定义 // 0长度数组 struct zero_buffer{
    的头像 发表于 09-27 15:08 453次阅读

    stm32的8位数据结构怎么判断正负?

    stm32的8位数据结构怎么判断正负,char变量不能为负,不想用int,我记得51单片机char可以判断正负
    发表于 09-22 07:15

    NetApp的数据结构是如何演变的

    混合和多云部署模型是企业IT组织的新常态。随着这些复杂的环境,围绕数据管理的新挑战出现了。NetApp的数据管理愿景是一种无缝连接不同的数据结构云,无论它们是私有环境、公共环境还是混合环境。
    发表于 08-25 17:15 0次下载
    NetApp的<b class='flag-5'>数据结构</b>是如何演变的

    快速介绍8种常用数据结构

    数据结构是一种特殊的组织和存储数据的方式,可以使我们可以更高效地对存储的数据执行操作。数据结构在计算机科学和软件工程领域具有广泛而多样的用途。
    发表于 06-21 09:27 553次阅读
    快速介绍8种常用<b class='flag-5'>数据结构</b>

    数据结构中最简单的链表

    数据结构作为嵌入式工程师必修课程之一,今天,我们就来讲一讲数据结构中最简单的链表,包含链表的初始化、插入和遍历操作。 链表在项目开发中使用的场景很多,跟数组相比,它的优点就是,容量没有限制,插入删除效率比较高。
    发表于 06-13 17:40 250次阅读

    如何理解并掌握Java数据结构

    Java 数据结构是 Java 程序员必须掌握的重要知识之一。
    的头像 发表于 06-06 15:53 580次阅读

    嵌入式软件常见的8种数据结构

    数据结构是一种特殊的组织和存储数据的方式,可以使我们可以更高效地对存储的数据执行操作。数据结构在计算机科学和软件工程领域具有广泛而多样的用途。
    的头像 发表于 05-04 10:28 633次阅读
    嵌入式软件常见的8种<b class='flag-5'>数据结构</b>