【数据结构与算法】不就是数据结构

news2024/11/26 9:00:00

前言

  嗨喽小伙伴们你们好呀,好久不见了,我已经好久没更新博文了!之前因为实习没有时间去写博文,现在已经回归校园了。我看了本学期的课程中有数据结构这门课程(这么课程特别重要),因为之前学过一点,所以就想着深入学习一下子。毕竟这门课程对于考研就业都有着不小得作用。如果博客写的有问题,感谢指正。话不多说,我们开始学习吧!


目录

前言

目录

一、与数据结构相关的专业名词

1.1 数据

1.2 数据元素

 1.3 数据项

1.4 数据对象

二、 数据结构

2.1 数据结构的概念

2.2 数据结构的分类 

2.2.1 物理结构

2.2.1.1 集合结构

2.2.1.2 线性结构

2.2.1.2 树形结构

​编辑

2.2.1.2 图形结构

​编辑

2.2.2 物理结构

2.2.2.2 顺序结构

2.2.2.3 链式结构

总结


一、与数据结构相关的专业名词

1.1 数据

   描述客观事物的符号 ,是能直接输入到计算机中,并被计算机识别、 加工处理和存储的对象。
   数据既可以是数值型的数据,也可以是非数字型的数据如:图像、声音、视频等。

1.2 数据元素

数据元素是数据结构中 基本的独立单元 ,也被称为元素、结点、记录等。

 1 李白 23 老板 20000000 0100-01-01 可以看做一个数据元素。

 1.3 数据项

数据项是数据具有独立含义的 最小标识单位 ,也被称为字段或域。

一个数据元素由多个数据项组成。 如:" 1 李白 23 老板 20000000 0100-01-01"这个数据元素由

"1、李白 、23、老板、20000000、0100-01-01"这几个数据项组成。

1.4 数据对象

  数据对象:是性质相同的数据元素的集合,是数据的子集。
  性质相同指的是:数据元素具有 相同数量和类型的数据项 。如上图 的信息表就是一个数据对象,它的数据由id、name、age、job、salary、entrydate、mangagerid、dept_id组成。
  在不产生混淆的情况下,简称数据对象为数据。

二、 数据结构

2.1 数据结构的概念

  数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。
  在计算机中,数据元素并不是孤立的、杂乱无序的,而是具有内在联系的数
据集合。简单而言,数据结构就是数据元素之间的相互关系,即数据的组织
形式。

2.2 数据结构的分类 

数据结构分为:物理结构逻辑结构

2.2.1 物理结构

  逻辑结构反映的是数据元素之间的逻辑关系,是从具体问题抽象出来的数学模
型。逻辑结构可以分为四种: 集合结构、线性结构、树形结构、图形结构

2.2.1.1 集合结构

  (1)集合结构中的数据元素 除了同属于一个集合外 ,它们之间没有其他的关系。
  (2)集合中的数据元素是 平等 的,它们的共同特点是 同属于一个集合

2.2.1.2 线性结构

线性结构中的数据元素是 一对一的关系 。类似于小火车,从火车头开始,每一节车厢都连接着下一节火车。

 

2.2.1.2 树形结构

    图形结构有点像我们现实中的大树一样,我们可以先从树根去看,首先是特别粗壮的树根然后再往上看是树枝,然后树枝上也有可能还是树枝然后到了叶子。把我们现实中的大树倒过来看就是树形结构。在树形结构中是一对多的关系,一棵大树有着多个树枝,一个树枝对应着多片叶子。 

2.2.1.2 图形结构

  图形结构我们可以想象一下我们使用的导航,从A点到B点我们可以乘坐的不同的交通工具。“法外狂徒”张三刚从A城偷走价值连城的宝物之后打算回到B城可以使用地铁、公交、私家车、单车进行出行,然后到达P城之后我们可以选择私家车、轮渡、火车。由此可见张三每到达一个城市可以选择多种交通工具。故 图形结构的数据元素是 多对多的关系

2.2.2 物理结构

2.2.2.1 物理结构概述

物理结构指的是 数据的逻辑结构在计算机中的存储形式 ,也称为 存储结构
物理存储结构反映的是如何将数据元素存储到计算机中的存储器中,存储结
构(物理结构)主要有两种: 顺序存储和链式存储

2.2.2.2 顺序结构

把数据元素存储在地址连续的存储单元里,数据元素的 逻辑次序和物理次序是一致的

   顺序结构类似于张三偷东西,张三每次在作案时都会事先想好偷东西的顺序,如果张三不严格按照作案的先后顺序,就会留下蛛丝马迹,被警察叔叔发现他作案的证据。

   我相信大家都应该对C语言不陌生吧,如果没有学过可以看博主的C语言专栏。在C语言中如果我们想要存储类型相同且可以存储大量数据。我们就会使用到数组,然后数组就是顺序结构。

  例如:数组 int[] a={100,20,3,56,266} ,它在内存中的存储形式如图所示:

2.2.2.3 链式结构

   链式存储结构: 把数据元素存放在任意的存储单元里,这组存储单元可以是
连续的,也可以是不连续的。
  链式存储并不能反映数据元素真正的逻辑关系,因此需要用一个 指针 存放数
据元素的地址,这样通过地址就可以找到相关联的数据元素。

  例如:张三深更半夜睡不着觉,因为今天张三入室盗窃了大量的欠款,想着放在家里不安全,于是就打算把现金存入银行了,去了银行里看人挺多就在叫号机前叫了个号然后坐在椅子上等待柜台小姐姐叫号,然后去办理业务。由此我们可以看出银行的排队系统,每人去了先领一个号,等着叫号。 在等待的过程中,在哪里都可以。这其实就是链式结构!

总结

本期我们主要要了解的是数据结构概念性的内容,通过张三的故事我想大家应该有了对数据结构的大致了解,下期我们要学习的是算法的介绍。如果你需要参加应试考试请一定要记住前边的概念哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1020149.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

天宇微纳芯片测试软件如何测试电源芯片的持续电流?

持续电流(连续电流)是指元器件在工作状态下内部电流持续流动的状态,一般都是用于对元器件允许连续通过电流限制的一种描述。比如电源芯片允许的持续电流,就表示该芯片可连续通过的最大电流。 通过上面的描述我们可以知道&#xff…

爬虫 — 验证码反爬

目录 一、超级鹰二、图片验证模拟登录1、页面分析1.1、模拟用户正常登录流程1.2、识别图片里面的文字 2、代码实现 三、滑块模拟登录1、页面分析2、代码实现(通过对比像素获取缺口位置) 四、openCV1、简介2、代码3、案例 五、selenium 反爬六、百度智能云…

zabbix学习1--zabbix6.x单机

文章目录 1. 环境2. MYSQL8.02.1 单节点2.2 配置主从 3. 依赖组件4. zabbix-server5. agent5.1 yum5.2 编译 附录my.cnfJDK默认端口号 1. 环境 进入官网查看所需部署环境配置以及应用版本要求https://www.zabbix.com/documentation/current/zh/manual/installation/requiremen…

机器学习(11)---降维PCA

目录 一、概述1.1 维度1.2 sklearn中的降维算法 二、降维实现原理2.1 PCA与SVD2.2 降维实现2.3 降维过程 三、鸢尾花数据集降维3.1 高维数据的可视化3.2 探索降维后的数据3.3 累积可解释方差贡献率曲线 四、选n_components参数方法4.1 最大似然估计自选超参数4.2 按信息量占比选…

期权开户流程、交易时间和规则详解清晰易懂

本文将介绍期权开户流程、交易时间和规则详解清晰易懂则,包括期权的定义、期权交易的时间、期权交易的规则和期权交易的风险。本文的结论是,期权交易的时间和规则非常重要,应该遵守交易规则,并且要注意风险。本文来源:…

VB求组合数

VB求组合数 求组合数C(m,n)n!/(m!(n-m)!) m6,n10 Private Function fact(x As Integer) As LongDim i As Integer, f As Longf 1For i 1 To xf f * iNext ifact f End Function Private Sub Command1_Click()Dim m%, n%, u As Long, v As Long, w As Longm 6: n 10u fa…

Maven的介绍和使用

Maven的作用 项目构建 依赖管理:避免资源间版本冲突问题 统一开发结构:提供统一的项目结构 Maven的使用 下载完压缩包之后放在合适的目录下,其中apache-maven-3.8.8文件夹是安装的maven,下面的repository是本地仓库&#xff…

手写一个springboot starter,并使用starter

文章目录 前言一、starter的作用和意义二、自定义一个starter并使用1.starter本体问题: 2.创建另外一个项目,引入自定义的starter 总结spring-configuration-metadata.json 前言 你一定用过很多starter , 例如 spring-boot-starter,spring-boot-starter-test等等,那么如何实现…

微信群发超过5000人是怎么办到的?

你是否好奇,微信官方对于普通用户的群发限制是500人,但是有些大佬的微信账号怎么能群发突破这个限制,甚至超过5000人,其实他们有可能都用到了这一款软件: https://youwokeji.feishu.cn/docx/RpybdOWpzo9tlqxlMk7c0VZb…

从键盘任意输出一个整数n,若n不是素数,则计算并输出其所有因子(不包括1),否则输出该数为素数

#include<stdio.h> int main() {int i 0;int j 0;int n 0;int tag 0;//设置一个标志位&#xff0c;不为素数时令tag1&#xff1b;printf("输入一个数&#xff1a;");scanf("%d", &n);for (i 2; i < n; i){if (n % i 0){printf("该…

让小爱同学播放本地/远程歌曲的方案 | 小爱音箱播放本地歌曲

环境:HACS+Python 问题:小爱同学不能播放本地歌曲或者群晖中的歌曲 解决办法:HACS + Http Server 背景:冲绿砖是不可能的,DLNA也被阉割了,只能曲线救国了 解决思路:通过HACS监控小爱事件,推送媒体链接并随机播放,具体看下面的流程图 文章目录 1.安装HACS:2.安装HACS…

操作系统的体系结构

一、内核结构 操作系统内核也有两种类别&#xff1a;大内核结构、微内核结构 大内核结构&#xff1a;也叫宏内核/单内核。将操作系统的主要功能模块都作为操作系统内核。大内核结构包括进程管理、存储器管理、设备管理等功能&#xff08;第四层&#xff09;和时钟管理、中断处理…

SpringSecurity 初始化解析

文章目录 前言加载SpringSecurity配置解析配置SpringSecurity 解析器security:http 解析FilterChainProxy的注册过程创建 SpringSecurity 过滤器总结 前言 通过上文分析知道了SpringSecurity对一个请求的具体处理流程。不知道大家是否跟我一样都有几个疑问&#xff1a; Filte…

半导体行业如何在跨网数据交换时保证核心数据是安全的?

半导体行业是高科技产业的核心&#xff0c;也是国家战略的重点领域。半导体产业涉及到芯片设计、制造、封装、测试等多个环节&#xff0c;每个环节都需要大量的数据支撑和交换。半导体企业的核心数据不仅包括技术方案、设计图纸、生产参数等&#xff0c;还包括市场分析、客户信…

创建当前工作簿的备份和一次关闭所有工作簿

【分享成果&#xff0c;随喜正能量】专注地做一件事&#xff0c;做到极致&#xff0c;胜过敷衍地做很多事。不求多&#xff0c;但求精&#xff0c;不求散&#xff0c;但求专。每个人的时间和精力都是有限的&#xff0c;专注于某个领域&#xff0c;沉得住气&#xff0c;静得下心…

Python常用算法合集【文末送书啦~】

前言 作者主页&#xff1a;涛哥聊Python 个人网站&#xff1a;涛哥聊Python 大家好&#xff0c;我是涛哥。 今天为大家分享Python常用算法合集&#xff0c;以及各算法的代码示例&#xff01;还会给大家赠送荣获CSDN“程序员IT好书评选”奖的《labuladong 算法小抄》&#xf…

报错Can‘t pickle local object ‘get_dataset.<locals>.<lambda>‘

将代码里所有 ’num_workers设为0 报错信息 "Cant pickle local object get_dataset.<locals>.<lambda>" 通常出现在使用多进程加载数据时&#xff0c;特别是在使用 Python 的 multiprocessing 模块时。这个错误是由于 Python 无法将局部函数&#xff0…

3D目标检测框架 MMDetection3D环境搭建 docker篇

本文介绍如何搭建3D目标检测框架&#xff0c;使用docker快速搭建MMDetection3D的开发环境&#xff0c;实现视觉3D目标检测、点云3D目标检测、多模态3D目标检测等等。 需要大家提前安装好docker&#xff0c;并且docker版本> 19.03。 1、下载MMDetection3D源码 https://gith…

公司内部网段太多,管控混乱,该如何规范跨网文件传输交换?

在当今的信息化时代&#xff0c;文件传输交换是企业日常工作中不可或缺的一项功能。无论是内部员工之间&#xff0c;还是与外部合作伙伴之间&#xff0c;都需要频繁地进行文件的发送、接收、共享和协作。然而&#xff0c;由于企业内部网段的复杂性和多样性&#xff0c;以及数据…