小菜一步一步学数据结构之(一)基本概念和术语

简介: 数据结构是一门研究非数值计算程序设计中的操作对象,以及这些对象之间的关系和操作的学科。基本概念和术语*数据(data)–所有能输入到计算机中去的描述客观事物的符号的总称 *数据元素(data element)–数据的基本单位,也成结点(node)或记录(recor...

数据结构是一门研究非数值计算程序设计中的操作对象,以及这些对象之间的关系和操作的学科。

基本概念和术语

*数据(data)–所有能输入到计算机中去的描述客观事物的符号的总称
*数据元素(data element)–数据的基本单位,也成结点(node)或记录(record)
数据项(data item)–有独立含义的数据最小单位,也成域(field)*

       三者之间的关系:数据>数据元素>数据项
       例如:成绩表>个人信息>学号、姓名、成绩

*数据对象(Data Object):相同特征元素的集合,是数据的一个子集

例如:整数数据对象 N={0,1,2,3…}
字母字符数据对象是集合C={‘A’,’B’,’C’,’D’,….’a’,’b’,’c’,’d’…}

*数据结构(data Structure)是相互之间存在一种或多种特定关系的数据元素的集合。(数据结构是带“结构”的数据元素的集合,“结构”就是指数据元素之间存在的关系。)


数据结构的两个层次:

逻辑结构——数据元素间抽象化的相互关系,与数据的存储无关,独立于计算机,它是从具体问题抽象出来的数学模型。

存储结构(物理结构)
数据元素及其关系在计算机存储中的存储方式。

逻辑结构 划分方法一
(1)线性结构—
有且仅有一个开始和一个终端结点,并且所有结点都最多只有一个直接前驱和一个后驱。

例如:线性表、栈、队列、串

(2)非线性结构—

一个结点可能有多个直接前驱和直接后继。

例如:树、图

划分方法二

集合—-数据元素间除“同属于一个集合”外,无其他关系

线性结构—一个对一个,如 线性表、栈、队列

树形结构—-一个对多个,如 树

图形结构–多个对多个,如 图
集合、线性表、树、图

存储结构分为:
顺序存储结构—–借助元素在存储器中的相对位置来表示数据元素间的逻辑关系
链式存储结构—-借助指示元素存储地址的指针表示数据元素间的逻辑关系
数据类型
定义:在一种程序设计语言中,变量所具有的数据种类

  例如:基本数据类型:char int float double void
       构造数据类型:数组、结构体、共用体、文件

抽象数据类型(ADTs:Abstract Data Types)

  • 定义: 用户进行软件系统设计时从问题的数据模型中抽象出来的逻辑数据结构和逻辑数据结构上运算,而不考虑计算机的具体存储结构和运算的具体实现算法。

抽象数据类型可以用三元组表示:
ADT = (D,S,P)
D:数据对象
S:D上的关系集
P:D上的操作集

ADT定义格式:

ADT 抽象数据类型名{
 数据对象:<数据对象的定义>
 数据关系:<数据关系的定义>
 基本操作:<基本操作的定义>
}  ADT抽象数据类型名
相关文章
|
12月前
|
算法 数据处理 C语言
C语言中的位运算技巧,涵盖基本概念、应用场景、实用技巧及示例代码,并讨论了位运算的性能优势及其与其他数据结构和算法的结合
本文深入解析了C语言中的位运算技巧,涵盖基本概念、应用场景、实用技巧及示例代码,并讨论了位运算的性能优势及其与其他数据结构和算法的结合,旨在帮助读者掌握这一高效的数据处理方法。
525 1
|
存储 算法
数据结构与算法学习二二:图的学习、图的概念、图的深度和广度优先遍历
这篇文章详细介绍了图的概念、表示方式以及深度优先遍历和广度优先遍历的算法实现。
256 1
数据结构与算法学习二二:图的学习、图的概念、图的深度和广度优先遍历
|
存储 算法 Linux
【数据结构和算法】---二叉树(1)--树概念及结构
【数据结构和算法】---二叉树(1)--树概念及结构
172 0
|
分布式计算 Hadoop Unix
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
222 1
|
存储
【高阶数据结构】深度探索二叉树进阶:二叉搜索树概念及其高效实现(二)
【高阶数据结构】深度探索二叉树进阶:二叉搜索树概念及其高效实现
【高阶数据结构】深度探索二叉树进阶:二叉搜索树概念及其高效实现(三)
【高阶数据结构】深度探索二叉树进阶:二叉搜索树概念及其高效实现
【高阶数据结构】深度探索二叉树进阶:二叉搜索树概念及其高效实现(一)
【高阶数据结构】深度探索二叉树进阶:二叉搜索树概念及其高效实现
118 1
|
C语言
数据结构基础详解(C语言):图的基本概念_无向图_有向图_子图_生成树_生成森林_完全图
本文介绍了图的基本概念,包括图的定义、无向图与有向图、简单图与多重图等,并解释了顶点度、路径、连通性等相关术语。此外还讨论了子图、生成树、带权图及几种特殊形态的图,如完全图和树等。通过这些概念,读者可以更好地理解图论的基础知识。
992 8
|
存储
【数据结构】树和二叉树的概念及结构
数据结构——树和二叉树的概念及结构
304 3
【数据结构】树和二叉树的概念及结构
|
存储 分布式计算 算法
大数据-105 Spark GraphX 基本概述 与 架构基础 概念详解 核心数据结构
大数据-105 Spark GraphX 基本概述 与 架构基础 概念详解 核心数据结构
261 0

热门文章

最新文章

下一篇
oss云网关配置