数据结构(一)初识数据结构

server/2024/9/24 16:32:28/

数据结构(一)初识数据结构

要点:解决问题的效率与数据的组织方式有关

思考:如何考虑数据结构

01 如何考虑数据结构

参考:从数据如何插入和如何取出两个角度考虑数据存储结构

  • 在此基础上,考虑数据的空间结构和空间分配

02 案例:一堆图书如何存储

1.随意插入

  • 优点是插入容易,无序考虑顺序
  • 缺点是无规律,取出只能循环全部再取出
  • 特点是无规律,不需要考虑空间分配

2.按拼音插入

  • 优点是取出相对容易,采用二分查找可以比较容易取出
    • 二分查找:针对有一定规律的数据,从中间开始查找,通过比对中部数据和目标数据,移动查找的左端或右端
  • 缺点是插入造成影响大,导致插入后数据位置发生连锁反应变化
  • 特点是有规律,有索引,按拼音分配空间有两种选择
    • 事后分好,按字母常用常用程度划分,之后按需要增加空间
    • 事先平均,按字母平均分配,同样是之后按需要增加空间

3.按类别分类后再按拼音排序

  • 优点是取出更加容易,先按类别查找,再二分查找即可取出
  • 缺点是插入造成数据位置变化,相较第2种有所优化,但空间分配上压力更大,查找时选择更多
  • 特点是更加有规律,双重索引,无论是查找还是插入都有所优化,数据空间分配压力变大

03 我的总结

1.解决问题的效率与数据的组织方式有关

  • 数据的组织方式要以问题为核心,提高解决问题的效率
  • 数据的结构服务于具体的对数据操作(增,删,改,查),考虑数据组织方式就是如何提高数据操作的效率
  • 根据数据存储方式划分数据空间,同样的根据数据空间(数据量大小)划分数据存储方式

2.高效考虑数据结构

  • 思考数据量大小
  • 思考数据如何取出和插入
  • 思考数据的空间分配

http://www.ppmy.cn/server/38061.html

相关文章

【SQL】根据条件分组,并根据条件取最大的这一条数据

数据,当字段A相同时,取字段B数值大的这一条数据 ABC123114223234 期望结果 ABC123234 Oracle SELECT A, B, C FROM (SELECT A, B, C,ROW_NUMBER() OVER (PARTITION BY A ORDER BY B DESC) AS rnFROM 表名 ) WHERE rn 1; MySql SELECT t1.A, t1.B,…

工单管理系统解决方案(2024Word原件)

工单管理系统解决方案 1、工单创建:根据告警信息创建工单。 2、工单管理:列表形式展示所有工单信息及进度状态。 3、工单处理:对接收的工单进行处理反馈。 4、工单催办:根据工单时效自动发送工单催办消息通知。 5、工单归档&#…

【NodeMCU实时天气时钟温湿度项目 4】通过NTPClient库获取实时网络时间并显示在TFT屏幕上

今天是【实时天气时钟温湿度项目】第四专题,主要内容是:学习导入NTPClient库,通过这个库获取实时网络时间,显示在1.3寸TFT液晶屏幕上。此前三个专题,请选择查看以下链接。 第一专题内容,请参考 【N…

解决“您的连接不是私密连接”

目录 那么为什么会出现这样提示呢 https访问有什么不同 将http访问更改为https访问 当您在浏览网页时,遇到“您的连接不是私密连接”的提示,这通常表示浏览器认为您的连接不够安全。这是因为浏览器无法信任网站使用的SSL证书,或者网站没有…

PTA|小字辈

题目 本题给定一个庞大家族的家谱,要请你给出最小一辈的名单。 输入格式: 输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) —— 简单起见,我们把家族成员从 1 到 N 编号。随后第二行给出 N 个编号&#x…

【算法与数据结构】哈希表

文章目录 引入哈希函数介绍便利店的例子Python3 中的哈希表C 中的哈希表 应用将散列表用于查找防止重复将散列表用作缓存 哈希冲突与解决链地址法开放寻址 总结参考资料写在最后 引入 假设你在一家便利店上班,你不熟悉每种商品的价格,在顾客需要买单是时…

Flutter笔记:Widgets Easier组件库(9)使用弹窗

Flutter笔记 Widgets Easier组件库(9):使用弹窗 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress o…

[Algorithm][多源BFS][矩阵][飞地的数量][地图中的最高点][地图分析] + 多源BFS原理讲解 详细讲解

目录 0.原理讲解1.矩阵1.题目链接2.算法原理详解3.代码实现 2.飞地的数量1.题目链接2.算法原理详解3.代码实现 3.地图中的最高点1.题目链接2.算法原理详解3.代码实现 4.地图分析1.题目链接2.算法原理详解3.代码实现 0.原理讲解 注意:只要是用**BFS解决的最短路径问题…