热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

数据结构(逻辑结构和存储结构)

一、逻辑结构:逻辑结构分为四种类型:集合结构,线性结构,树形结构,图形结构。集合结构:表面意思&

一、逻辑结构:

                                

                                            

                                                   


  1. 逻辑结构分为四种类型:集合结构,线性结构,树形结构,图形结构。
  2. 集合结构:表面意思,没有什么深刻意义,就是数据元素同属一个集合,单个数据元素之间没有任何关系。如下图所示。

  3. 线性结构:类似于线性关系,也就是说,线性结构中的数据元素之间是一对一的关系。注意:重点在一对一。如下图所示。

  4. 树形结构:树形结构中的数据元素之间存在一对多的关系。(各元素及元素关系所组成图形类似于树状图)。注意:关系为一对多。如下图所示。

  5.  图形结构:数据元素之间是多对多的关系。如下图所示。

                                                   

总结以上几点:用示意图表示数据结构的逻辑关系时要注意:

1.将每一个元素看作为一个结点,用圆圈表示。

2.将各个元素之间的关系用结点之间的连线表示,如果该关系有方向,则用带箭头的连线表示。


二、物理结构(存储结构):

物理结构又叫存储结构,分为四种种,顺序存储结构、链式存储结构、索引结构、散列结构。

1.顺序存储结构:

一段连续的内存空间。

优点:随机访问

缺点:插入删除效率低,大小固定

                              

2.链式存储结构:

不连续的内存空间

优点:大小动态扩展,插入删除效率高

缺点:不能随机访问。

                                      

3.索引存储结构:

为了方便查找,整体无序,但索引块之间有序,需要额外空间,存储索引表。

优点:对顺序查找的一种改进,查找效率高

缺点:需额外空间存储索引

4.散列存储结构:(哈希=散列)

选取某个函数,数据元素根据函数计算存储位置可能存在多个数据元素存储在同一位置,引起地址冲

优点:查找基于数据本身即可找到,查找效率高,存取效率高。

缺点:存取随机,不便于顺序查找。

 


推荐阅读
  • 本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 尽管某些细分市场如WAN优化表现不佳,但全球运营商路由器和交换机市场持续增长。根据最新研究,该市场预计在2023年达到202亿美元的规模。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 本文探讨了如何在编程中正确处理包含空数组的 JSON 对象,提供了详细的代码示例和解决方案。 ... [详细]
  • Ralph的Kubernetes进阶之旅:集群架构与对象解析
    本文深入探讨了Kubernetes集群的架构和核心对象,详细介绍了Pod、Service、Volume等基本组件,以及更高层次的抽象如Deployment、StatefulSet等,帮助读者全面理解Kubernetes的工作原理。 ... [详细]
  • 本文详细介绍了美国最具影响力的十大财团,包括洛克菲勒、摩根、花旗银行等。这些财团在历史发展过程中逐渐形成,并对美国的经济、政治和社会产生深远影响。 ... [详细]
  • andr ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • Win11扩展卷无法使用?解决扩展卷灰色问题的指南
    本文详细介绍了在Windows 11中遇到扩展卷灰色无法使用时的解决方案,帮助用户快速恢复磁盘扩展功能。 ... [详细]
  • 武汉大学计算机学院研究生入学考试科目及专业方向
    武汉大学计算机学院为考生提供了多个硕士点,涵盖计算机科学与技术、软件工程、信息安全等多个领域。考研科目包括思想政治理论、英语一或二、数学一或二以及专业基础课程。具体的专业方向和考试科目详见正文。 ... [详细]
  • 本文介绍了如何通过扩展 UnityGUI 创建自定义和复合控件,以满足特定的用户界面需求。内容涵盖简单和静态复合控件的实现,并展示了如何创建复杂的 RGB 滑块。 ... [详细]
author-avatar
小艾辰
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有