数据结构读书笔记之数据结构初识

本文深入解析数据结构核心概念,涵盖数据、数据元素、结构、数据对象、逻辑与物理结构、数据类型及抽象数据类型,是理解计算机科学基础的必备指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据结构

数据结构是相互之间存在一种或多种特定关系的数据元素的集合。(数据结构这个概念,至今尚未有一个被一致公认的定义,不同的人在使用这个词时所表达的意思有所不同)

数据

数据是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。对计算机科学而言,数据的含义极为广泛,数字、图像、文本、声音等都可以通过编码而归之于数据的范畴。

数据元素

数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。一个数据元素可由若干个数据项组成。数据项是数据不可分割的最小单位。如果我们把图书馆的书目信息(书本检索信息)看作一个数据元素,那么书目信息中的每一项(如书名、作者名等)就是数据项。

结构

数据元素相互之间的关系成为结构。通常有四种基本结构:

集合:结构中的数据元素之间除了“同属于一个集合”的关系外,别无其他关系。这里和数学中的集合概念是一致的。
           线性结构:结构中的数据元素之间存在一个对一个的关系。例如线性表、队列。
           树形结构:结构中的数据元素之间存在一个对多个的关系。例如二叉树,它们之间是不交叉的。
           图状结构或网状结构:结构中的数据元素之间存在多个对多个的关系。例如图。

数据对象

数据对象是性质形同的数据元素的集合,是数据的一个子集。例如整数数据对象是集合N={0,1,-1,2,-2,······}。

数据的逻辑结构

很多数据结构的定义是对操作对象的一种数学描述,是从操作对象抽象出来的数学模型。结构定义中的“关系”描述的是数据元素之间的逻辑关系,因此又称为数据的逻辑结构。

数据的物理结构

数据结构在计算机中的表示(又称映像)称为数据的物理结构,又称存储结构。它包括数据元素的表示和关系的表示。

在计算机中表示信息的最小单位是二进制数的一位,叫做位。

在计算机中,我们可以用一个由若干位组合起来形成的一个位串表示一个数据元素(如用一个字长的位串表示一个整数,用8位二进制数表示一个字符等),通常称这个位串为元素或结点。

当数据元素由若干数据项组成时,位串中对应于各个数据项的子位串称为数据域。因此,元素或结点可以看成是数据元素在计算机中的映像。

数据元素在计算机中有两种不同的表示方法:顺序映像和非顺序映像,并由此得到两种不同的存储结构:顺序存储结构和链式存储结构。

顺序映像的特点是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系;非顺序映像的特点是借助指示元素存储地址的指针表示数据元素之间的逻辑关系。

任何一个算法的设计取决于选定的数据(逻辑)结构,而算法的实现依赖于采用的存储结构。

数据类型

数据类型是和数据结构密切相关的一个概念,它最早出现在高级程序语言中,用以刻画(程序)操作对象的特性。数据类型是一个值的集合和定义在这个值集上的一组操作的总称。

高级程序语言中的数据类型可以分为两类:一类是非结构的原子类型。原子类型的值是不可分解的,例如C语言中的基本类型(整型,实型,字符型和枚举类型)、指针类型和空类型。另一类是结构类型,结构类型的值是由若干成分按某种结构组成的,因此是可以分解的,并且它的成分可以是非结构的,也可以是结构的。例如数组的值由若干个分量组成,每个分量可以是整数,也可以是数组等。

抽象数据类型

抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。

抽象数据类型和数据类型本质上是一个概念。例如,各个计算机都拥有的“整数”类型是一个抽象数据类型,尽管它们在不同处理器上实现的方法可以不同,但由于其定义的数学特性相同,在用户看来都是相同的。因此,“抽象”的意义在于数据类型的数学抽象特性。

抽象数据类型可通过固有数据类型来表示和实现,即利用处理器中已存在的数据类型来说明新的结构,用已经实现的操作来组合新的操作。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值