【数据结构1-基本概念和术语】

这里写自定义目录标题

  • 0.数据,数据元素,数据项,数据对项,数据结构,逻辑结构,存储结构
  • 1.结构
    • 1.1逻辑结构
    • 1.2存储结构
      • 1.2.1 顺序结构
      • 1.2.2链式结构
    • 1.3数据结构
      • 1.3.1基本数据类型
      • 1.3.2抽象数据类型
      • 1.3.2.1一个简单的抽象数据类型定义及实现(复数)
    • 1.4 算法和算法分析

0.数据,数据元素,数据项,数据对项,数据结构,逻辑结构,存储结构

以下是一个简单的例子来说明这些概念:

假设有一个学生信息管理系统。

  • 数据:指所有学生的信息,包括姓名、年龄、学号、成绩等。
  • 数据元素:每个学生的信息就是一个数据元素,例如某个具体学生的姓名、年龄等。
  • 数据项:学生信息中的具体字段,如姓名就是一个数据项。
  • 数据对象:可以是一个学生,也可以是一个班级的学生集合。
  • 数据结构:指组织和存储学生信息的方式,例如使用链表、数组或树等。
  • 逻辑结构:描述学生之间的关系,如线性结构或树形结构。
  • 存储结构:决定了学生信息在计算机内存中的实际存储方式。

在这个例子中,数据、数据元素、数据项、数据对象是对不同层次信息的描述,而数据结构、逻辑结构和存储结构则关注如何组织和管理这些信息。选择合适的数据结构和存储结构可以提高数据处理的效率和性能。

1.结构

1.1逻辑结构

在这里插入图片描述

1.2存储结构

 数据对象在计算机中的存储表示称为数据的存储结构,也称为物理结构。把数据对象存储到计算机时,通常要求既要存储各数据元素的数据,又要存储数据元素之间的逻辑关系,数据元素在计算机内用一个结点来表示

1.2.1 顺序结构

 顺序存储结构是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系,通常借助
程序设计语言的数组类型来描述

1.2.2链式结构

 顺序存储结构要求所有的元素依次存放在一片连续的存储空间中,而链式存储结构,无需占
用一整块存储空间。但为了表示结点之间的关系,需要给每个结点附加指针字段,用千存放后继
元素的存储地址。所以链式存储结构通常借助于程序设计语言的指针类型来描述。
在这里插入图片描述

1.3数据结构

1.3.1基本数据类型

(略)

1.3.2抽象数据类型

 抽象数据类型(AbstractData Type, ADT) 一般指由用户定义的、表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称,具体包括三部分:数据对象、数据对象上关系的集合以及对数据对象的基本操作的集合。
 运用抽象数据类型描述数据结构,有助千在设计一个软件系统时,不必首先考虑其中包含的数据对象,以及操作在不同处理器中的表示和实现细节,而是在构成软件系统的每个相对独立的模块上定义一组数据和相应的操作,把这些数据的表示和操作细节留在模块内部解决,在更高的层次上进行软件的分析和设计,从而提高软件的整体性能和利用率。

1.3.2.1一个简单的抽象数据类型定义及实现(复数)

在这里插入图片描述
在这里插入图片描述

1.4 算法和算法分析

(略去):后期熟练了自行理解

  • 算法 (Algorithm) 是为了解决某类问题而规定的一个有限长的操作序列。
  • 重点是时间复杂度和空间复杂度的理解和计算
  • 所谓的算法分析并非精确统计算法实际执行所需时间,而是针对算法中语句的执行 次数做出估计,从中得到算法执行时间的信息
    重点理解
    在这里插入图片描述在这里插入图片描述
  • 对算法时间复杂度的度量,人们更关心的是最坏情况下和平均情况下的时间复杂度。然而在
    很多情况下,算法的平均时间复杂度难千确定。因此,通常只讨论算法在最坏情况下的时间复杂
    度,即分析在最坏情况下,算法执行时间的上界。在本书后面内容中讨论的时间复杂度,除特别
    指明外,均指最坏情况下的时间复杂度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/625487.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

谷粒商城part2——环境篇

这里是过来人的学习建议: 1、如有条件电脑内存至少16G起步,条件进一步加个屏幕,条件更进一步租一台至少4G内存的X86架构云服务器,所有部署的东西全扔云服务器上 2、P16,P17没法搭起来的建议照着rerenfast的github上的教…

超高效空气过滤器(ULPA)在半导体制造领域需求旺盛 滤芯为其重要组成部分

超高效空气过滤器(ULPA)在半导体制造领域需求旺盛 滤芯为其重要组成部分 超高效空气过滤器(ULPA)又称超低穿透率空气过滤器,指含有超高效过滤网,对0.1微米粒子捕集效率在99.999%以上的空气过滤器。与高效空…

NineData正式将SQL开发正式升级为数据库DevOps

NineData SQL 开发早期主要提供 SQL 窗口(IDE)功能,产品经过将近两年时间的打磨,新增了大量的企业级功能,时至今日已经服务了上万开发者,覆盖了数据库设计、开发、测试、变更等生命周期的功能。 为了让企业…

uni-app中页面生命周期与vue生命周期的执行顺序对比

应用生命周期 uni-app 支持如下应用生命周期函数: 函数名说明平台兼容onLaunch当uni-app 初始化完成时触发(全局只触发一次),参数为应用启动参数,同 uni.getLaunchOptionsSync 的返回值onShow当 uni-app 启动&#x…

Linux LVM与磁盘配额

目录 一.LVM概述 LVM LVM机制的基本概念 PV(Physical Volume,物理卷) VG(Volume Group,卷组) LV(Logical Volume,逻辑卷) 二.LVM 的管理命令 三.创建并使用LVM …

【HCIP学习】OSPF协议基础

一、OSPF基础 1、技术背景(RIP中存在的问题) RIP中存在最大跳数为15的限制,不能适应大规模组网 周期性发送全部路由信息,占用大量的带宽资源 路由收敛速度慢 以跳数作为度量值 存在路由环路可能性 每隔30秒更新 2、OSPF协议…

锂电池充放电管理-单片机通用

锂电池充放电管理-单片机通用 一、锂电池充放电检测的原理二、power.c的实现三、power.h的实现四、锂电池检测和充电电路 一、锂电池充放电检测的原理 ①两节锂电池通过电阻分压检测ADC,再根据电压划分电量等级;②充电使用的是锂电池充电IC方案&#xf…

I2C通信的详细讲解

物理接口: SCL SDA (1)SCL(serial clock):时钟线,传输CLK信号,一般是I2C主设备向从设备提供时钟的通道。 (2)SDA(serial data):数据…

编程入门(二)【计算机基础二】

读者大大们好呀!!!☀️☀️☀️ 🔥 欢迎来到我的博客 👀期待大大的关注哦❗️❗️❗️ 🚀欢迎收看我的主页文章➡️寻至善的主页 文章目录 前言三、数制的转换四、计算机信息的存储单位总结 前言 本系列(分…

MongoDB的CURD(增删改查操作)

读者大大们好呀!!!☀️☀️☀️ 🔥 欢迎来到我的博客 👀期待大大的关注哦❗️❗️❗️ 🚀欢迎收看我的主页文章➡️寻至善的主页 ✈️如果喜欢这篇文章的话 🙏大大们可以动动发财的小手👉&#…

【Day 2】JavaScript、Vue

1 引入方式 内部脚本 --- 将 JS 代码定义在 HTML 页面中 <script>alert("Hello javaScript") </script> JavaScript 代码必须位于 <script></s cript> 标签之间&#xff08;而不能自闭合&#xff09; 在 HTML 文档中&#xff0c;可以在任…

浅析Redis④:字典dict实现

什么是dict&#xff1f; 在 Redis 中&#xff0c;dict 是指哈希表&#xff08;hash table&#xff09;的一种实现&#xff0c;用于存储键值对数据。dict 是 Redis 中非常常用的数据结构之一&#xff0c;用于实现 Redis 的键空间。 在 Redis 源码中&#xff0c;dict 是一个通用…