基本概念与术语

部署运行你感兴趣的模型镜像

1.数据

数据:数据是信息的载体,是对客观事物的符号表示。也可以说是能够有效的输入到计算机中并且能够被计算处理的符号总称,也是计算机程序处理对象的集合。

数据元素:数据元素是数据中的一个“个体”,是数据的基本组成单位。在不同条件下又可以称为结点、顶点和记录。

数据项:数据项是数据元素的组成部分,是具有独立含义的标识单位。 一个数据元素可以由多个数据项组成。

数据对象:数据对象是性质相同的数据元素的集合。

==数据结构==:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。

数据结构=逻辑结构+存储结构+运算

2.逻辑结构

==逻辑结构==:数据的逻辑结构是指各个数据元素之间的逻辑关系,是呈现在用户面前的,能够感知到数据元素的组织形式(独立于计算机之外)

分类:线性结构和非线性结构(集合、树形结构、图形结构)

常用的==线性结构==有:线性表,栈,队列,双队列,数组,串。

常见的==非线性结构==有:二维数组,多维数组,广义表,树(二叉树等),图。

特点:

集合:集合中数据之间除了“同属于一个集合”的特性外,数据元素之间无其他关系。它们之间的关系是松散的;

线性结构:线性结构之间数据元素之间存在“一对一”的关系;

树形结构:树形结构之间数据元素之间存在“一对多”的关系;

图形结构:图形结构之间数据元素之间存在“多对多”的关系。

数据的逻辑结构表述涉及两个方面的内容,一方面是数据元素,另一方面是数据元素之间的关系。所以从形式上可采用一个二元数组来定义,形式为如下

Data_Structures=(D,R)

其中D是数据元素的有限集,R是D上关系的有限集,R中的关系描述了D中数据元素之间的逻辑关系,即数据之间的关联方式。

3.存储结构(物理结构)

==存储结构==:数据的存储结构是数据的逻辑结构在计算机中的实现。它包括数据元素(以二进制的存储形式表示)值在计算机中的存储表示和逻辑关系在计算机的存储表示这两部分,是依赖计算机的。

分类:顺序存储、链式存储、索引存储、哈希存储(散列存储)

顺序存储结构:顺序存储是指将所有的数据元素存放在一片连续的存储空间中,并使逻辑上相邻的数据元素其对应的物理位置也相邻。即数据元素的逻辑位置关系和物理位置关系保持一致。

链式存储结构:链式存储不要求将逻辑上相邻的数据元素存储在物理上相邻的位置,即数据元素可以存放在任意的物理位置上。
每一个数据元素对应的存储表示由两部分组成,一部分存放数据元素值本身,另一部分用于存放表示逻辑关系的指针,即数据元素之间的逻辑关系是由附加的指针来表示的。

索引存储结构:索引存储在存储数据元素的同时,还增设了一个索引表。索引表中的每一项包括关键字和地址,其中关键字是能够唯一标识一个数据元素的数据项,地址是指数据元素的存储地址或存储区域的首地址。

哈希存储结构(散列存储结构):哈希存储是将数据元素存储在一片连续的区域内,每一个数据元素的具体存储地址是根据该数据元素的关键字值,通过哈希函数直接计算出来的。

前两个比较常用,后两个查找效率更高

4.数据的操作

数据的操作:是对数据进行某种方法的处理,也称数据的运算。

只有当数据对象按一定的逻辑结构组织起来,并选择了适当的存储方式存储到计算机中时,与其相关的运算才有了实现的基础。

对于不同的数据逻辑结构其对应的运算集也可能不同,常用的操作可归纳为以下几种:

创建操作:建立数据的存储结构。

销毁结构:对已经存在的存储结构将其所有空间释放。

插入操作:对数据存储结构的适当位置上加入一个指定的新的数据元素。

删除操作:将数据存储结构中某个满足指定条件的数据元素进行删除。

查找操作:在数据存储结构中查找某个满足指定条件的数据元素。

修改操作:修改数据结构中某个数据元素的值。

遍历操作:对数据存储结构中每个数据元素按某种路劲访问一次且仅访问一次。

数据的逻辑结构、存储结构和运算是数据结构讨论中不可分割的3个方面,它们中任何一个不同都将导致不同的数据结构。

5.数据类型

8种基本数据类型,分别是整型(4),浮点型(2),字符型和布尔型。

3种引用数据类型,分别是类,接口和数组。

整型:

数据类型内存空间取值范围
byte8位-2^7~ 2^7-1
short16位-2^15~ 2^15-1
int32位-2^31~ 2^31-1
long64位-2^63~ 2^63-1

浮点型:

数据类型内存空间取值范围
float32位-2^31~ 2^31-1
double64位-2^63~ 2^63-1

字符型:

数据类型内存空间取值范围
char8位-2^7~ 2^7-1

布尔型:boolean

6.抽象数据类型(引用类型中的一种特殊存在)

把数据的使用与实现分离开来的做法称为数据抽象。

数据的抽象是通过抽象数据类型来实现的。抽象数据类型是指一数据值的集合和定义在这个集合上的一组操作。它不包括数据的计算机存储表示,而且这里的操作是脱离了具体实现的抽象操作,即不涉及它的实现细节。

在Java语言中,抽象数据类型的描述可采用两种方法:第一种是用抽象类表示,抽象类型的实现用继承该抽象类的子类表示;第二张是用接口表示,抽象类型的实现用实现该接口的类表示。

作者学习的是Java语言,所以相关实现和描述以Java为主


根据相关书籍整理出来的文章

转载于:https://www.cnblogs.com/mirror6/p/8818802.html

您可能感兴趣的与本文相关的镜像

ComfyUI

ComfyUI

AI应用
ComfyUI

ComfyUI是一款易于上手的工作流设计工具,具有以下特点:基于工作流节点设计,可视化工作流搭建,快速切换工作流,对显存占用小,速度快,支持多种插件,如ADetailer、Controlnet和AnimateDIFF等

课程设计报告:总体方案设计说明 一、软件开发环境配置 本系统采用C++作为核心编程语言,结合Qt 5.12.7框架进行图形用户界面开发。数据库管理系统选用MySQL,用于存储用户数据小精灵信息。集成开发环境为Qt Creator,操作系统平台为Windows 10。 二、窗口界面架构设计 系统界面由多个功能模块构成,各模块职责明确,具体如下: 1. 起始界面模块(Widget) 作为应用程序的入口界面,提供初始导航功能。 2. 身份验证模块(Login) 负责处理用户登录账户注册流程,实现身份认证机制。 3. 游戏主大厅模块(Lobby) 作为用户登录后的核心交互区域,集成各项功能入口。 4. 资源管理模块(BagWidget) 展示用户持有的全部小精灵资产,提供可视化资源管理界面。 5. 精灵详情模块(SpiritInfo) 呈现选定小精灵的完整属性数据状态信息。 6. 用户名录模块(UserList) 系统内所有注册用户的基本信息列表展示界面。 7. 个人资料模块(UserInfo) 显示当前用户的详细账户资料历史数据统计。 8. 服务器精灵选择模块(Choose) 对战准备阶段,从服务器可用精灵池中选取参战单位的专用界面。 9. 玩家精灵选择模块(Choose2) 对战准备阶段,从玩家自有精灵库中筛选参战单位的操作界面。 10. 对战演算模块(FightWidget) 实时模拟精灵对战过程,动态呈现战斗动画状态变化。 11. 对战结算模块(ResultWidget) 对战结束后,系统生成并展示战斗结果报告数据统计。 各模块通过统一的事件驱动机制实现数据通信状态同步,确保系统功能的连贯性数据一致性。界面布局遵循模块化设计原则,采用响应式视觉方案适配不同显示环境。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值