Go版数据结构 -【1.1 数据结构的分类与基本概念】

embedded/2024/9/25 7:05:32/

1.1 数据结构的分类与基本概念

本节我们将对数据结构的基本概念以及分类进行讲解,数据结构有很多种,但是主要也就是集中于几种类型,本节我们将进行逐一讲解。

什么是数据结构

按照标准说法,数据结构指的是在计算机中存储和组织数据的一种方式,以便能够有效地访问和修改数据。

我们举例来说明一下,我们现在有一万本书需要放入图书馆,那么为了后续方便管理,我们一般会这样做:将这些书籍分类,之后放入不同的书架

这个分类的放入书架的方法,就叫做数据结构,我们的结构是:书架的每一层放不同分类的书籍。

同样的,我们在编程时也会遇到类似这样的情况,需要采用一种特定的结构方式来管理数据,比如说使用数组结构存储数据,这就是数据结构


数据结构的重要性

从上面的例子我们可以看出,数据结构所解决的就是我们的效率问题,一方面是数据的存放效率,一方面是数据的查询效率。

比如在图书分类的需求中,我们使用了书籍分类、书架分层的方式。这样我们在处理一万本书的时候,按照我们的结构方法去操作就可以。

首先在存放的时候,我们按照分类去放置,那么我们的存放工作就不会那么乱,哪怕是几个人同时操作也没什么问题。在查找书籍的时候,根据分类去找到书架层级,再通过索引就可以快速找到对应的书籍。


数据结构的分类

数据结构按照数据之间的关系可以分为线性数据结构与非线性数据结构;按照存储方式可以分为顺序存储结构与链式存储结构

线性数据结构 数据以线性的方式排列,每个元素前后分别只有一个元素。例如:数组、链表、栈、队列。

非线性数据结构 元素之间的关系比较复杂,不是单纯线性排列的。例如:树、图。

顺序存储结构: 元素按顺序存储在连续的内存空间中。例如:数组就是典型的顺序存储结构,支持高效的随机访问。

链式存储结构: 数据元素通过指针连接存储,元素可以分布在不同的内存位置。例如:链表是一种常见的链式存储结构,适合频繁插入和删除操作的场景。


我的GitHub:https://github.com/swxctx

书籍地址:https://gs.golang.website/

书籍代码:https://github.com/YouCanGolang/GoStructedCode


http://www.ppmy.cn/embedded/116495.html

相关文章

毕设基于SSM+Vue3实现设备维修管理系统四:后台框架及基础增删改查功能实现

本章介绍后端基础框架及基础的增删改查功能实现,创建基础的dao、service即controller层相关的基类,并实现基础的增删改查相关功能。 源码下载:点击下载 讲解视频: SMMVUE3实现设备维修管理系统毕设:后端框架搭建及表外…

Qt 类型选择器和类选择器的区别

概念上的区别请查看此篇博客:Qt 样式表、选择器、盒子模型,下面我直接举例说明。 示例界面: 1、类型选择器: QWidget {background-color: rgb(255, 85, 127); }运行结果(因为QPushButton是QWidget的子类&#xff0…

阿里rtc云端录制TypeScript版NODE运行

阿里云音视频服务云端录制typescript版本; 编译后可以使用 node index.js运行 package.json 版本 // npm install --save alicloud/rtc201801112.3.0 "alicloud/rtc20180111": "^2.3.0",引入 import Client, { StartCloudRecordRequest, StopCloudRecord…

【C++】Eclipse技巧汇总

Eclipse C/C调试无法输入 在debug C/C程序时,Eclipse自带的窗口,无法读取cin等输入 解决办法: 参考:https://blog.csdn.net/sagjhdj/article/details/123271383 思路是调用外部console: 依次点击Debug>Debug Conf…

解决 Sqoop 导入 Hive 时时间字段精度丢失问题

目录 一、背景介绍 二、问题描述 三、问题原因 四、解决方案 五、结论 一、背景介绍 介绍 Sqoop 数据导入过程,尤其是从 MySQL 导入 Hive 的场景。说明 MySQL 和 Hive 的数据类型差异,特别是 DATETIME 和 TIMESTAMP 类型的精度问题。 二、问题描述…

计算机毕设选题推荐-基于python的电子健康信息分析系统【源码+文档+调试】

精彩专栏推荐订阅:在下方主页👇🏻👇🏻👇🏻👇🏻 💖🔥作者主页:计算机毕设木哥🔥 💖 文章目录 一、电子健康信息…

UE学习篇ContentExample解读------Blueprint_Communication-上

文章目录 总览描述批次阅览1.1 Basic communication with a target blueprint1.2 Basic communication via actor casting1.3 Blueprint communication via actor casting to child Blueprint1.4 Communicating with all actors of a specific class 概念总结致谢: …

SpringBoot框架在文档管理中的创新应用

第3章 系统分析 3.1 需求分析 在线文档管理系统主要是为了提高工作人员的工作效率和更方便快捷的满足员工,更好存储所有数据信息及快速方便的检索功能,对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑员工的可操作性,遵循…