【数据结构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.rhkb.cn/news/312179.html

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

相关文章

【系统分析师】系统安全分析与设计

文章目录 1、安全基础技术1.1 密码相关1.1.1对称加密1.1.2非对称加密1.1.3信息摘要1.1.4数字签名1.1.5数字信封 1.2 PKI公钥体系 2、信息系统安全2.1 保障层次2.2 网络安全2.2.1WIFI2.2.2 网络威胁与攻击2.2.3 安全保护等级 2.3计算机病毒与木马2.4安全防范体系 1、安全基础技术…

探索数据结构:BF与KMP的灵活应用

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:数据结构与算法 贝蒂的主页:Betty’s blog 1. 什么是字符串匹配算法 字符串匹配是计算机科学中的一个基础概念&…

python创建word文档并向word中写数据

一、docx库的安装方法 python创建word文档需要用到docx库,安装命令如下: pip install python-docx 注意,安装的是python-docx。 二、使用方法 使用方法有很多,这里只介绍创建文档并向文档中写入数据。 import docxmydocdocx.Do…

SEO之搜索引擎的工作原理(三)

初创企业需要建站的朋友看这篇文章,谢谢支持:我给不会敲代码又想搭建网站的人建议 (接上一篇。。。) 排名 经过搜索引擎蜘蛛抓取页面,索引程序计算得到倒排索引后,搜索引擎就准备好可以随时处理用户搜索了…

C# 两种方法截取活动窗口屏幕,实现窗体截图

方法1,截屏内容仅包括活动窗口界面,而方法2是从屏幕范围取图,截屏内容会包括屏幕上所有内容。例如有一些程序在桌面顶层显示半透明的悬浮窗,用方法2截屏就会包括这些内容,并不是单纯的活动窗口内容。 方法1&#xff0c…

pyqt的人脸识别 基于face_recognition库

参考文献: 1、python face_recognition实现人脸识别系统_python facerecognition检测人脸-CSDN博客 2、cv2.VideoCapture()_cv2.videocapture(0)-CSDN博客 1、camera.py文件代码如下;目录如下 import sys from PyQt5.QtWidgets import QApplication, …

【机器学习】贝叶斯算法在机器学习中的应用与实例分析

贝叶斯算法在机器学习中的应用与实例分析 一、贝叶斯算法原理及重要性二、朴素贝叶斯分类器的实现三、贝叶斯网络在自然语言处理中的应用四、总结与展望 在人工智能的浪潮中,机器学习以其独特的魅力引领着科技领域的创新。其中,贝叶斯算法以其概率推理的…

Docker安装xxl-job分布式任务调度平台

文章目录 Docker安装xxl-job分布式任务调度平台1.xxl-job介绍2. 初始化“调度数据库”3、docker挂载运行xxl-job容器3.1、在linux的opt目录下创建xxl_job文件夹,并在里面创建logs文件夹和application.properties文件3.2、配置application.properties文件&#xff0c…

数据结构 -- 二分查找

本文主要梳理了二分查找算法的几种实现思路,基本概念参考 顺序、二分、哈希查找的区别及联系_生成一个大小为10万的有序数组,随机查找一个元素,分别采用顺序查找和二分查找方式-CSDN博客 1、基本概念 (1)前提条件:待查找数据必须…

GPT 浅析

GPT 浅析 文章目录 GPT 浅析GPT 1无监督预训练有监督微调任务相关的输入变换 GPT2GPT3 GPT 1 在模型架构上,GPT-1基于Transformer构造,这是因为与其他卷积神经网 络或者循环神经网络相比,Transformer提供了效率更高的方法来处理文本 中的长期…

leetcode hot100_day20

4/14/2024 128.最长连续序列 自己的 这是前两天做一半的题目了。这题给我的教训就是用哈希表的时候一定一定要考虑重复元素的问题!!!! 这题让我想到了最长递增子序列,只是名字有点像。子序列和子数组还不一样一个连续…

【HCIP学习】OSPF协议基础

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

错误分析 (Machine Learning研习十九)

错误分析 您将探索数据准备选项,尝试多个模型,筛选出最佳模型,使用 Grid SearchCV微调其超参数,并尽可能实现自动化。在此,我们假设您已经找到了一个有前途的模型,并希望找到改进它的方法。其中一种方法就…

第九届少儿模特明星盛典 全球赛推广大使『武家翔』精彩回顾

2024年1月30日-2月1日,魔都上海迎来了龙年第一场“少儿形体行业美育春晚”!由IPA模特委员会主办的第九届少儿模特明星盛典全球总决赛圆满收官!近2000名少儿模特选手从五湖四海而来,决战寒假这场高水准,高人气&#xff…

uni-app学习

目录 一、安装HBuilderX 二、创第一个uni-app 三、项目目录和文件作用 四、全局配置文件(pages.json) 4.1 globalStyle(全局样式) 导航栏:背景颜色、标题颜色、标题文本 导航栏:开启下拉刷新、下拉背…

Axure实现导航栏的展开与收缩

Axure实现导航栏的展开与收缩 一、概要介绍二、设计思路三、Axure制作导航栏四、技术细节五、小结 一、概要介绍 使用场景一般是B端后台系统需要以导航栏的展开与收缩实现原型的动态交互,主要使用区域是左边或者顶部的导航栏展开与收缩,同一级导航下的小…

ActiveMQ 01 消息中间件jmsMQ

消息中间件之ActiveMQ 01 什么是JMS MQ 全称:Java MessageService 中文:Java 消息服务。 JMS 是 Java 的一套 API 标准,最初的目的是为了使应用程序能够访问现有的 MOM 系 统(MOM 是 MessageOriented Middleware 的英文缩写&am…

Servlet测试1

通过按钮提交get,post请求,并且后端响应数据,显示到前端 当点击get按钮时 是发起Get请求 后端接收到Get请求后,把数据写入到body内 当点击pst按钮时 是发起Post请求 后端接收到Post请求后,把数据写入到body内 之后前端就从bod…

Python 物联网入门指南(七)

原文:zh.annas-archive.org/md5/4fe4273add75ed738e70f3d05e428b06 译者:飞龙 协议:CC BY-NC-SA 4.0 第二十四章:基本开关 到目前为止一定是一段史诗般的旅程!回想一下你开始阅读这本书的时候,你是否曾想象…

HarmonyOS开发实战:【亲子拼图游戏】

概述 本篇Codelab是基于TS扩展的声明式开发范式编程语言编写的一个分布式益智拼图游戏,可以两台设备同时开启一局拼图游戏,每次点击九宫格内的图片,都会同步更新两台设备的图片位置。效果图如下: 说明: 本示例涉及使…