当前位置: 首页 > news >正文

【数据结构】认识数据结构 (通俗解释)

目录

1.认识数据结构

1.1 什么是数据结构

1.1.1 什么是数据?

1.1.2 什么是结构?

1.1.3 通俗比喻:

1.1.4 标准概念概念定义: 

1.2为什么需要数据结构?



1.认识数据结构

1.1 什么是数据结构

数据结构是由"数据"和"结构"两词组合而来。
1.1.1 什么是数据?

常见的数值 1 、 2 、 3 、4.....、教务系统里保存的用戶信息(姓名、性别、年龄、学历等等)、网⻚里肉眼可以看到的信息(文字、图片、视频等等),这些都是 数据

1.1.2 什么是结构?

当我们想要使用大量使用同一类型的数据时,通过手动定义大量的独立的变量对于程序来说,可读性非常差,我们可以借助数组这样的数据结构将大量的数据组织在一起,结构 也 可以理解为组织数据的方式。

1.1.3 通俗比喻:

想要找到草原上名叫"咩咩"的羊很难,
但是从羊圈里找到 1 号羊就很简单,羊圈这样的结构有效将羊群组织起来。
1.1.4 标准概念概念定义: 
1 )数据结构是计算机存储、组织数据的方式。
2 )数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。
3 )数据结构反映数据的内部构成,即数据由哪部分构成,以什么方式构成,以及数据元素之间呈现的结构。
总结:
1 )能够存储数据(如顺序表、链表等结构)
2 )存储的数据能够方便查找

1.2为什么需要数据结构?

如图中所示,不借助排队的方式来管理客戶,会导致客戶就餐感受差、等餐时间⻓、餐厅营业混乱等情况。
同理,程序中如果不对数据进行管理,可能会导致数据丢失、操作数据困难、野指针等情况。
通过数据结构,能够有效将数据组织和管理在一起。按照我们的方式任意对数据进行增删改查等操作。

转回来

最基础的数据结构:数组。
【思考】有了数组,为什么还要学习其他的数据结构?
假定数组有 10 个空间,已经使用了 5 个,向数组中插入数据步骤:
求数组的⻓度,求数组的有效数据个数,向下标为数据有效个数的位置插入数据(注意:这里是
否要判断数组是否满了,满了还能继续插入吗).....
假设数据量非常庞大,频繁的获取数组有效数据个数会影响程序执行效率。
结论:最基础的数据结构能够提供的操作已经不能完全满足复杂算法实现。需要更高级的数据结构如 顺序表、链表、栈、队列、树.....

http://www.lryc.cn/news/293238.html

相关文章:

  • C语言——深入理解指针(1)
  • MySQL原理(五)事务
  • 算法学习——华为机考题库4(HJ26 - HJ30)
  • STM32学习笔记(三) —— GPIO点亮LED
  • gRPC使用详解
  • 海康威视有插件、无插件播放;webrtc直播;西瓜视频播放器;mpegts.js直播;flvjs直播
  • 测试工作(新入职)感悟
  • hivesql的基础知识点
  • Linux下的线程操作
  • 机器学习 | 如何利用集成学习提高机器学习的性能?
  • [Python] 什么是PCA降维技术以及scikit-learn中PCA类使用案例(图文教程,含详细代码)
  • npm 淘宝镜像正式到期,更新使用成功
  • python_蓝桥杯刷题记录_笔记_全AC代码_入门2
  • 备战蓝桥杯---数据结构与STL应用(入门4)
  • 2023_12蓝桥杯STEMA 考试 Scratch 中级试卷解析
  • 从编程中理解:大脑中的杏仁核
  • Maven dependency中的scope
  • 代码随想录算法训练营DAY11 | 栈与队列 (2)
  • 【Spring实战】33 Spring Boot3 集成 Nacos 配置中心
  • ElementUI安装与使用指南
  • Opencv——图片卷积
  • 项目安全-----加密算法实现
  • 只用一台服务器部署上线(宝塔面板) 前后端+数据库
  • 《Pandas 简易速速上手小册》第8章:Pandas 高级数据分析技巧(2024 最新版)
  • 计算机网络_1.6.2 计算机网络体系结构分层的必要性
  • 跟着cherno手搓游戏引擎【18】抽象Shader、项目小修改
  • 每日OJ题_算法_模拟②_力扣495. 提莫攻击
  • freertos 源码分析二 list链表源码
  • Peter算法小课堂—Dijkstra最短路算法
  • Python 读取和写入包含中文的csv、xlsx、json文件