K:绪论

本文介绍了数据结构的基础概念,如数据、数据元素等,并详细解释了逻辑结构与存储结构的区别和分类。此外还概述了算法的基本概念,包括算法的性质、设计目标以及评判标准。
部署运行你感兴趣的模型镜像

Ps:本专题主要用于记录在学习过程中所学习到的知识点及所遇到的问题及对问题的理解和解答。用于记录学习过程中学到的知识点的文章,其标题用K(knowledge)开头,用于记录实践过程中所遇到的问题及其问题的理解和解答的文章,标题用Q(question)开头。

欢迎各位大佬指出本文章的问题所在,同时欢迎转载本系列博文,只需在文章开头处著名转载的出处即可。

概念:

在学习数据结构前,可以首先简单的了解下何为数据,数据元素,数据项,数据对象,及其各个概念之间的联系。最后了解下数据结构的概念。

数据:数据是对客观事物的符号表示,所有能被输入到计算机中,且能被计算机处理的符号的总称;是计算机操作对象的集合。是计算机处理的信息的某种特定的符号表示形式。

数据元素:是数据(集合)中的一个“个体”,是数据结构中讨论的基本单位,不同场合也叫做结点(节点),顶点,记录。

数据项:是数据元素的组成部分,一个数据元素可以由若干个数据项组成。

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

Ps:数据对象中的数据元素不会是孤立的,而是彼此相关的,这种彼此之间的关系成为“结构”

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

Ps:可以忽略以上的各个概念,其并不影响对数据结构的学习,由于个人习惯,在学习任何东西的时候,都会习惯性的去了解清楚其相关的背景。

逻辑结构及其分类:

(1)数据的逻辑结构是指各个数据元素之间的逻辑关系,是呈现在用户面前的,能够感知到的数据元素的组织形式

(2)根据数据元素之间的逻辑关系的特性,可以将数据结构分为如下4类:

1.集合 2.线性结构 3.树形结构 4.图形结构

(3)逻辑结构可用二元组形式定义为Data_Structures=(D,R),其中D为数据元素的有限集合,RD上关系的有限集合

存储结构及其分类:

(1)数据的存储结构(物理结构)是数据的逻辑结构在计算机中的实现。它包括数据元素值在计算机中的存储表示和逻辑关系在计算机中的存储表示这两个部分,是依赖于计算机的

(2)数据元素之间逻辑关系的存储表示有4种:

1.顺序存储方式 2.链式存储方式  3.索引存储方式  4.散列存储方式

对于顺序存储方式,其特点:顺序存储方式是指将所有的数据元素存放在一片连续的存储空间中,并使逻辑上相邻的数据元素其对应的物理位置也相邻。即数据元素的逻辑位置关系和物理位置关系保持一致。其可以进行随机的存取。

对于链式存储方式,其特点:链式存储方式不要求将逻辑上相邻的数据元素存储在物理上相邻的位置,即数据元素可以存储在任意的物理位置上,每一个数据元素所对应的存储表示由两部分组成,一部分存放数据元素值本身,另一部分用于存放表示逻辑关系的指针(即下一个元素的地址)。可以进行顺序存取。(因为其在获取下一个元素的时候,必须要求知道上一个元素,之后,通过上一个元素指向该元素的指针来获取该元素)

对于逻辑结构和物理结构之间的关系,其可以理解为一对多的关系,即一种逻辑结构可以采用多种物理结构来进行存储,也就是说,一种逻辑结构可以采用多种物理存储方式。

由于在接触数据结构的时候,不可避免的要求接触到基本的一些算法,为此,以下简单的介绍下算法的基本概念

算法,是对特定问题进行求解的步骤的一种描述。它是指令的有限序列,其中,每条指令表示一个或多个操作。

算法具有五个性质:有穷性,确定性,有效性,输入,输出。算法不一定都要求这五个性质都必须满足。但是,其前三个要求必须进行满足。因为不满足前三个要求的算法并没有什么价值。

算法设计的目标:正确性,可读性,健壮性,高效率(时间和空间)

算法评判的标准:时间复杂度和空间复杂度

对于时间复杂度,其一般采用大O的表示方法,其时间复杂度之间的关系如下:

1)多项式时间算法的时间复杂度:O(1)<O(log2n)<O(n)<O(nlog2n)<O(n2)<O(n3)(其中n>∞,当然,这里的∞并不是数学意义上的无穷,在这只是用于表示”很大但是有限的概念,下同

2)指数时间算法的时间复杂度:O(2n)<O(n!)<O(nn)(其中n>∞)

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

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

采用PyQt5框架与Python编程语言构建图书信息管理平台 本项目基于Python编程环境,结合PyQt5图形界面开发库,设计实现了一套完整的图书信息管理解决方案。该系统主要面向图书馆、书店等机构的日常运营需求,通过模块化设计实现了图书信息的标准化管理流程。 系统架构采用典型的三层设计模式,包含数据存储层、业务逻辑层和用户界面层。数据持久化方案支持SQLite轻量级数据库与MySQL企业级数据库的双重配置选项,通过统一的数据库操作接口实现数据存取隔离。在数据建模方面,设计了包含图书基本信息、读者档案、借阅记录等核心数据实体,各实体间通过主外键约束建立关联关系。 核心功能模块包含六大子系统: 1. 图书编目管理:支持国际标准书号、中国图书馆分类法等专业元数据的规范化著录,提供批量导入与单条录入两种数据采集方式 2. 库存动态监控:实时追踪在架数量、借出状态、预约队列等流通指标,设置库存预警阈值自动提醒补货 3. 读者服务管理:建立完整的读者信用评价体系,记录借阅历史与违规行为,实施差异化借阅权限管理 4. 流通业务处理:涵盖借书登记、归还处理、续借申请、逾期计算等标准业务流程,支持射频识别技术设备集成 5. 统计报表生成:按日/月/年周期自动生成流通统计、热门图书排行、读者活跃度等多维度分析图表 6. 系统维护配置:提供用户权限分级管理、数据备份恢复、操作日志审计等管理功能 在技术实现层面,界面设计遵循Material Design设计规范,采用QSS样式表实现视觉定制化。通过信号槽机制实现前后端数据双向绑定,运用多线程处理技术保障界面响应流畅度。数据验证机制包含前端格式校验与后端业务规则双重保障,关键操作均设有二次确认流程。 该系统适用于中小型图书管理场景,通过可扩展的插件架构支持功能模块的灵活组合。开发过程中特别注重代码的可维护性,采用面向对象编程范式实现高内聚低耦合的组件设计,为后续功能迭代奠定技术基础。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值