数据结构(C语言)Learning Way

简介: 数据结构基本术语

一、数据

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

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.总结逻辑图

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

目录
相关文章
|
27天前
|
存储 编译器 C语言
【数据结构】C语言实现链队列(附完整运行代码)
【数据结构】C语言实现链队列(附完整运行代码)
36 0
|
27天前
|
存储 算法 程序员
【数据结构】C语言实现顺序表万字详解(附完整运行代码)
【数据结构】C语言实现顺序表万字详解(附完整运行代码)
39 0
|
1月前
|
C语言
数据结构之栈详解(C语言手撕)
数据结构之栈详解(C语言手撕)
37 1
|
3月前
|
C语言
链接未来:深入理解链表数据结构(二.c语言实现带头双向循环链表)
链接未来:深入理解链表数据结构(二.c语言实现带头双向循环链表)
31 0
|
3月前
|
搜索推荐 C语言
【数据结构】—超级详细的归并排序(含C语言实现)
【数据结构】—超级详细的归并排序(含C语言实现)
|
1天前
|
存储 算法 C语言
C语言进阶:顺序表(数据结构基础) (以通讯录项目为代码练习)
C语言进阶:顺序表(数据结构基础) (以通讯录项目为代码练习)
|
1天前
|
C语言
数据结构中顺序栈的进栈和出栈用C语言表示
数据结构中顺序栈的进栈和出栈用C语言表示
10 1
|
23天前
|
算法 C语言
【算法与数据结构】 C语言实现单链表队列详解2
【算法与数据结构】 C语言实现单链表队列详解
|
23天前
|
存储 算法 C语言
【算法与数据结构】 C语言实现单链表队列详解1
【算法与数据结构】 C语言实现单链表队列详解
|
1月前
|
存储 C语言
数据结构之队列详解(C语言手撕)
数据结构之队列详解(C语言手撕)
30 2