数据元素之间的逻辑关系的整体称为数据的逻辑结构。现实中,数据元素的逻辑关系千变万化,而数据结构课程中讨论的逻辑关系主要是指数据元素之间的相邻关系,如果两个数据元素是相邻的,说明它们之间是有关系的,否则它们之间没有关系。实际上,这种相邻关系处理方法很容易推广到其他复杂关系的处理。
根据数据元素之间逻辑关系的不同特性,分为下列4类基本结构。
(1)集合:包含的所有数据元素同属于一个集合(数据元素之间没有关系,集合是一种最松散的逻辑结构)。
(2)线性结构:包含的数据元素之间存在一对一的关系。(3)树状结构:包含的数据元素之间存在一对多的关系。
(4)图形结构:包含的数据元素之间存在多对多的关系。也称为网状结构。
数据的逻辑结构可以采用多种方式描述,二元组是一种既常用也十分通用的数据逻辑结构表示方式。二元组表示如下。
S=(D,R)
D={di|1≤i≤n}
R={rj|1≤j≤m}
其中,D是数据元素的有限集合,即D是由有限个数据元素所构成的集合,R是D上的关系的有限集合,即R是由有限个关系rj(1≤j≤m)所构成的集合,而每个关系都是指D→D的关系。
每个关系rj用序偶集合来表示,一个序偶表示两个元素之间的相邻关系,用尖括号表示有向关系,如<a,b>表示存在元素a到b之间的关系;用圆括号表示无向关系,如(a,b)表示既存在元素a到b之间的关系,又存在元素b到a之间的关系。
设rj是一个D到D的关系,rj∈R,若元素d∈D,d′∈D,且<d,d′>∈rj,则称d′是d的直接后继元素(简称后继元素),d是d′的直接前驱元素(简称前驱元素),这时d和d′是相邻的元素(都是相对rj而言的);如果不存在一个d′使<d,d′>∈rj,则称d为rj的终端元素;如果不存在一个d′使<d′,d>∈rj,则称d为rj的开始元素;如果d既不是终端元素也不是开始元素,则称d是内部元素。
例如,表1.1数据的逻辑结构是怎么样的呢?从该表中可以看出,学号为201201的元素为开始元素(没有前驱元素),学号为201204的元素为终端元素(没有后继元素)。除此之外,所有元素都只有一个前驱元素和一个后继元素,如学号为201205的学生记录的唯一前驱元素为学号为201201的学生记录,唯一后继元素为学号为201206的学生记录。由此可知,这个表的逻辑结构为线性结构。
实际上,Score表本身就完整地描述了该数据的逻辑结构,也可以用如下二元组表示其逻辑结构(用学号表示相应的元素)。
Score=(D,R)
D={201201,201202,201204,201205,201206}
R={r} //这里只有一个逻辑关系,一些复杂的数据结构中可以有多个逻辑关系
r={<201201,201205>,<201205,201206>,<201206,201202>,<201202,201204>}
数据逻辑结构的呈现形式称为数据的逻辑表示,除二元组外,数据逻辑结构还可以用相应的关系图来表示,称为逻辑结构图。

数据元素之间的逻辑关系的整体称为数据的逻辑结构相关推荐

  1. R语言ggplot2可视化散点图、可视化两个数值变量之间的关系、使用geom_smooth函数基于loess方法拟合数据点之间的趋势关系曲线、自定义数据点的大小、色彩、添加主标题、副标题、题注信息

    R语言ggplot2可视化散点图.可视化两个数值变量之间的关系(Scatter plot).使用geom_smooth函数基于loess方法拟合数据点之间的趋势关系曲线.自定义数据点的大小.色彩.添加 ...

  2. R语言可视化散点图、气泡图、动态气泡图、数据点重合的散点图、数据点计数图、抖动数据点图、基于lm方法或者loess方法拟合数据点之间的趋势关系曲线、自定义数据点的大小、色彩、添加主标题、副标题、题注

    R语言可视化散点图.气泡图.动态气泡图.数据点重合的散点图.数据点计数图.抖动数据点图.基于

  3. (一)数据结构的起源,常见的名词解释,数据元素之间的关系

    何为数据结构? 待处理的数据以及数据之间的关系 数据元素之间一种或多种特定关系的集合 数据结构的起源 一开始计算机是计算数值用的,所以当人们使用计算机解决实际问题的时候,首先需要从具体问题中抽象出一个 ...

  4. R语言ggplot2可视化散点图、并使用geom_encircle函数自定义多边形圈定可视化图像中的指定区域、使用geom_smooth函数基于loess方法拟合数据点之间的趋势关系曲线

    R语言ggplot2可视化散点图.并使用geom_encircle函数自定义多边形圈定可视化图像中的指定区域(Scatterplot With Encircling).使用geom_smooth函数基 ...

  5. SAP库存表之间的逻辑关系

    SAP库存表之间的逻辑关系 转载于SAP学习门户网,原文链接: http://www.sap6.com/learn/mm/073504302015/3370.html 当前库存: 一般保存在 MARD ...

  6. python中序列类型是二维元素向量吗_序列类型是二维元素向量,元素之间存在先后关系,通过序号访问。...

    [填空题]MapReduce 计算模式中, Map (映射)的主要任务是:负责输入数据的 . . ,输出 . [多选题]大数据的特征包括( ). [判断题]中断服务过程中如果允许中断嵌套,则优先级高的 ...

  7. 微服务下数据表之间的耦合关系

    微服务下数据表之间的耦合关系 1.问题产生 今天同事给我发了一个链接,问我这种做可视化建表的过程觉得怎么样?(如下图) 同事的意思主要是,在微服务架构下,新建单一数据表,然后表内数据需要引用其他数据表 ...

  8. 组合与继承有什么共同点和差异?通过组合生成的类与被组合的类之间的逻辑关系是什么?继承呢?

    组合与继承有什么共同点和差异?通过组合生成的类与被组合的类之间的逻辑关系是什么?继承呢? 组合与继承的?共同点: 都是能够使用已经封装好的类. 组合与继承的差异: 通过组合生成的类一旦消失,被组合生成 ...

  9. python使用缩进来体现代码之间的逻辑关系-python使用缩进来体现代码之间的逻辑关系吗?...

    对,python使用缩进来体现代码之间的逻辑关系,对缩进的要求非常严格.Python语言通过缩进来组织代码块,这是Python的强制要求.在代码前放置空格来缩进语句即可创建语句块,语句块中的每行必须是 ...

  10. python语言采用严格的缩进来体现语句的逻辑关系_Python语言通过( )来体现语句之间的逻辑关系...

    Python语言通过( )来体现语句之间的逻辑关系 答:缩进 我们要坚定不移地走中国特色社会主义道路 答:√ 即在应用文正文的结尾处点名文章主题,也被称为"卒章显志" 答:篇末点题 ...

最新文章

  1. 斯坦福年度AI报告:人工智能全面逼近人类能力
  2. python读取 .mat 文件(matlab文件)
  3. 虚拟机Oracle VM VirtualBox linux系统如何访问windows共享文件夹
  4. 一份超级全面的PHP面试题
  5. 逆向去除winrar广告
  6. Andorid应用去google广告
  7. DataGrip 2019.2.5 —— 中文列名(字段名)(columns name)乱码问题解决方案
  8. OpenGL normalviewer普通视图的实例
  9. 论理想中的技术团队——领导力
  10. java.net.UnknownHostException: dbmtimehadoop
  11. VMware下Ubuntu无法全屏显示问题
  12. Tomcat 配置详解/优化方案
  13. 利用python求解度中心性
  14. zabbix自动发现及其自动注册
  15. iScroll5 API速查随记
  16. Android的jsoup方法,在Android中使用Jsoup
  17. Missing Push Notification Entitlement警告-----以及解决方法
  18. 数据结构—顺序表基本操作的实现(C语言)
  19. 115网盘如何打开php文件格式,115网盘真实地址解析工具
  20. 用python计算直角三角形斜边长

热门文章

  1. EasyDarwin云存储方案调研:海康萤石云采用的是MPEG-PS打包的方式进行的存储
  2. 经济学中VCG机制介绍与机制设计(mechanism design)
  3. wgs84坐标系和国内地图坐标系的转换
  4. FPGA实现sobel边缘检测并Modelsim仿真,与MATLAB实现效果对比
  5. 基于MATLAB的指纹识别算法仿真实现
  6. mysql电商数据库设计文档_MySQL电商项目数据库设计及架构优化视频课程
  7. CSR3026开发问题总结-1
  8. 如何查找CAD打印样式文件存储位置?
  9. 使用java解压GZip文件
  10. 红米note5linux刷机包__最新最全的红米Note5ROM刷机包下载、刷机教程_红米Note5论坛_移动叔叔...