数据结构(C语言)Learning Way

本文详细介绍了数据结构的概念,包括数据、数据元素、数据对象的定义,并探讨了数据结构的逻辑结构与物理结构,如线性结构和非线性结构、顺序存储和链式存储等。此外,还提到了数据类型及其抽象数据类型的定义。
摘要由CSDN通过智能技术生成

一、数据

一般来说,用计算机解决一个问题时,大致需要经过以下几个步骤:首先要从具体问题抽象出一个适当的数学模型,然后设计一个解决此数学模型的算法,最后变出程序,进行测试、调整直至得到最终解答。

1.数据

数据(Data)

数据,是能输入计算机且能被计算机处理的各种符号的集合,它是:

  • 各种信息的载体
  • 是对客观事物符号化的表示
  • 能够被计算机识别、存储和加工

可以分为数值型数据,如整数、实数等;非数值型数据,如文字、图像、图形、声音等。

数据元素(Data element)

数据元素,是组成数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。也简称为元素,或称记录、结点或顶点。
数据项:构成数据元素的不可分割的最小单位。

数据对象(Data Object)

数据对象,是性质相同的数据元素的集合,是数据的一个子集

2.数据结构(Data Structure)

数据元素不是孤立存在的,它们之间存在某种关系,数据元素相互之间的关系成为结构(Structure)。数据结构,是指相互之间存在一种或多种特定关系的数据元素的集合。
数据结构包括以下三个方面的内容:

  • 数据元素之间的逻辑关系,也称逻辑结构
  • 数据元素及其关系在计算机内存中的表示(映像),称为数据的物理结构或存储结构
  • 数据的运算和实现,即对数据元素可以施加的操作以及这些操作在相应的存储结构上的实现

逻辑结构

逻辑结构是,描述数据元素之间的逻辑关系,与数据的存储无关,独立于计算机,是从具体问题抽象出来的数学模型。
可分为两类:

  • 线性结构(一对一),如线性表、栈、队列、串
  • 非线性结构(一对多),如树、图

物理结构

物理结构,是数据元素及其关系在计算机存储器中的结构(存储方式),是数据在计算机中表示。
可大致分为四类:

  • 顺序存储结构:用一组连续的存储单元依次存储数据元素,数据元素之间的逻辑关系由元素的存储位置来表示(数组)
  • 链式存储结构:用一组任意的存储单元存储数据元素,数据元素之间的逻辑关系用指针来表示(指针)
  • 索引存储结构:在存储节点信息的同时,还建立附加的索引表(通讯录)
  • 散列存储结构:根据结点的关键字直接计算出该结点的存储地址

逻辑结构和物理结构有如下关系:

  • 存储结构是逻辑结构的映像与元素本身的映像
  • 逻辑结构是数据结构的抽象,存储结构是数据元素的实现
  • 两者综合起来建立了数据元素之间的结构关系

3.数据类型(Data Type)

数据类型,是一组性质相同的值的集合和定义在这个值集上的一组操作的总称。
抽象数据类型(Abstract Data Type):指一个数据模型以及定义在此数学模型上的一组操作,不考虑在计算机内如何表示和实现。

和数据结构的形式定义相对应,抽象数据类型可用以下三元组表示:
(D,S,P)
其中,D是数据对象,S是D是上的关系集,P是对D的基本操作集

ADT 抽象数据类型名 {
        数据对象:<数据对象的定义>
		数据关系:<数据关系的定义>
		基本操作:<基本操作的定义>
}ADT 抽象数据类型名

4.总结逻辑图

在这里插入图片描述持续更新中。。。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值