【数据结构】第一节:数据结构概论

本篇文章是对数据结构概念的纯理论介绍,希望系统了解数据结构概念的友友可以看看,对概念要求不高的友友稍做了解后移步下一节:

数据结构(初阶)第二节:顺序表-CSDN博客

正文

目录

正文

1.数据结构的相关概念

1.1什么是数据

1.2什么是数据结构

1.3为什么需要数据结构

1.4数据结构的分类

逻辑结构

集合结构

线性结构

树形结构

图形结构(网状结构)

物理结构


1.数据结构的相关概念

1.1什么是数据

        数据是对客观事物的表示,在计算机科学中表示被输入到计算机中被计算机处理的符号的总称。

1.2什么是数据结构

        数据结构是计算机存储、组织数据的⽅式。数据结构是指相互之间存在⼀种或多种特定关系的数据元素的集合。数据结构反映数据的内部构成,即数据由那部分构成,以什么⽅式构成,以及数 据元素之间呈现的结构。

1.3为什么需要数据结构

        在程序运行的是如果不对数据进行有效的管理,就可能会导致数据的丢失、损坏等,还有可能会破坏程序中的其他部分(如野指针),而为了有效管理组织数据,数据结构的概念由此诞生。而数组就是最基础的数据结构。

1.4数据结构的分类

        一般来说,数据结构结构可分为逻辑结构物理结构两大类。

逻辑结构

        数据结构之间的关系代表某种含义,这种自然或人为定义的“关系”成为数据元素之间的逻辑关系,相应的结构被称为逻辑结构,数据元素之间基本的逻辑结构有以下4种类型

集合结构

数据元素同属于一个集合,但不同的元素之间没有任何的对应关系

线性结构

数据元素之间存在一对一的关系,如线性表、栈、队列等

树形结构

数据元素之间存在一对多的关系,包括树、二叉树等

图形结构(网状结构)

数据元素之间存在多对多的关系,如有向图、无向图、带权图和无权图等

物理结构

        物理结构是数据在计算机内存中存储的形式,物理结构需要体现的是数据元素在内存中存储的形式以及结构,基本的物理结构可分为以下4种类型。

1.顺序存储结构:将数据元素放在地址连续的内存空间里

特点:

        1) 占用一大片连续内存空间

        2) 不需要额外空间存储逻辑关系,总空间需求最少

        4) 可顺序访问,支持随机访问

        5) 在C语言中,通过数组实现

        6) 数据元素的插入和删除操作通过移动元素完成

2.链式存储结构:数据元素在内存中的地址不要求连续,但一定要有逻辑结构,各个元素之间通过指针建立联系

特点:

        1) 不要求占用连续内存空间

        2) 不仅要存储数据,还要存储数据之间的关系,故总空间需求较大

        3) 通过指针反映逻辑关系

        4) 逻辑连续,物理可不连续

        5) 只可顺序访问,不支持随机访问

        6) 存在标记:头指针

        7) 数据元素的插入和删除操作通过修改指针完成:定位插入点/删除点的直接前驱/后

3.索引存储结构:

特点:

        1) 不要求占用连续内存空间

        2) 不仅要存储数据,还要存储关系,故总空间需求较大

        3) 通过索引表记录逻辑关系

        4) 逻辑连续,物理可不连续

        5) 可顺序访问,支持随机访问

        6) 数据元素的插入和删除操作通过修改索引表中相关数据元素的存储地址进行

        7) 需要额外存储空间:通过索引表存储逻辑关系

  8) 需要额外操作时间:对索引表进行维护

4.散列存储结构:

特点:

        1) 物理位置通过哈希函数计算得到

        2) 逻辑连续,物理可不连续

        3) 可顺序访问,由于存在冲突,仅支持部分随机访问

        4) 重点:散列函数和解决冲突方法

  • 64
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 37
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深情秋刀鱼@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值