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

简介:

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

基本概念和术语

*数据(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抽象数据类型名
目录
相关文章
|
3月前
|
算法 数据处理 C语言
C语言中的位运算技巧,涵盖基本概念、应用场景、实用技巧及示例代码,并讨论了位运算的性能优势及其与其他数据结构和算法的结合
本文深入解析了C语言中的位运算技巧,涵盖基本概念、应用场景、实用技巧及示例代码,并讨论了位运算的性能优势及其与其他数据结构和算法的结合,旨在帮助读者掌握这一高效的数据处理方法。
94 1
|
5月前
|
C语言
数据结构基础详解(C语言):图的基本概念_无向图_有向图_子图_生成树_生成森林_完全图
本文介绍了图的基本概念,包括图的定义、无向图与有向图、简单图与多重图等,并解释了顶点度、路径、连通性等相关术语。此外还讨论了子图、生成树、带权图及几种特殊形态的图,如完全图和树等。通过这些概念,读者可以更好地理解图论的基础知识。
255 8
|
8月前
|
编译器 数据库 索引
数据结构篇:树形数据结构的基本概念及其遍历方法
数据结构篇:树形数据结构的基本概念及其遍历方法
203 0
|
8月前
|
存储 算法
【二叉树】数据结构——BST二叉树基本概念及算法设计(插入、删除、遍历操作)
【二叉树】数据结构——BST二叉树基本概念及算法设计(插入、删除、遍历操作)
|
8月前
|
存储 机器学习/深度学习
数据结构学习记录——什么是图(抽象数据类型定义、常见术语、邻接矩阵表示法、邻接表表示法)
数据结构学习记录——什么是图(抽象数据类型定义、常见术语、邻接矩阵表示法、邻接表表示法)
105 0
|
8月前
|
机器学习/深度学习 存储 算法
数据结构和算法学习记录——树(基本介绍、树的定义、树的特点、树的一些基本术语、树的表示、儿子-兄弟表示法)
数据结构和算法学习记录——树(基本介绍、树的定义、树的特点、树的一些基本术语、树的表示、儿子-兄弟表示法)
145 0
|
9月前
|
存储 算法
[数据结构]—二叉树基本概念
[数据结构]—二叉树基本概念
|
9月前
|
存储
数据结构-树的介绍、树的定义和基本术语
树是一种非线性的数据结构,是以分支关系定义的层次结构,比如人类社会中的族谱、及各种机制、组织的关系都可以用树形象的表示。重点学习二叉树的存储和相关操作,还要讨论树、森林、二叉树的转换关系。
137 0
|
9月前
|
存储 分布式数据库
【数据结构】树和二叉树堆(基本概念介绍)
【数据结构】树和二叉树堆(基本概念介绍)
77 6
|
9月前
|
存储 算法
【数据结构与算法】8.二叉树的基本概念|前序遍历|中序遍历|后序遍历
【数据结构与算法】8.二叉树的基本概念|前序遍历|中序遍历|后序遍历

热门文章

最新文章