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

前言

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


目录

前言

目录

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

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.mzph.cn/news/87164.shtml

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

相关文章

华为数通方向HCIP-DataCom H12-831题库(单选题:41-60)

第41题 除了虚连接之外,OSPFV3的Hello报文源IPv6地址是哪种类型的IPv6地址? A、IPv6任播地址 B、唯一本地地址 C、全球单播地址 D、链路本地地址 答案: D 解析: 这里题目是源IPv6,不是目的IPv6,与另一题类似 第42题 下列描述中关于MPLS网络中配置静态LSP正确的是? A、…

简单线性回归(Simple Linear Regression)

简单线性回归(Simple Linear Regression) 简单线性回归(Simple Linear Regression)简介理解数据数据处理读取数据数据预览数据探索数据统计信息数据类型查看数据的直方图通过散点图查看数据的相关关系相关系数建立模型创建训练数据和测试数据建立简单线性回归模型查看回归方…

计算机等级考试—信息安全三级真题六

目录 一、单选题 二、填空题 三、综合题 一、单选题

工厂漏水怎么预防?教你一招,百试百灵

随着工业化的迅速发展,工厂和生产设施在现代社会中扮演着至关重要的角色。然而,这些设施在日常运营中也面临着各种各样的风险和挑战,其中之一是水浸事件。 水浸事件可能是由于天灾、设备故障、管道泄漏或人为失误等原因引发的,但无…

基于STM32和LORA组网的养老院智能控制系统设计(第十八届研电赛)

一、整体功能 数据采集从机1采集烟雾浓度,PM2.5浓度,甲醛浓度;从机2采集温湿度,光照强度,噪声强度,老人体感温度;从机3收集厨房饮用水的TDS值。3个数据采集从机将采集到的数据显示在本地OLED屏…

Sqilte3初步教程

文章目录 安装创建数据库创建和删除表插入行数据 安装 Windows下安装,首先到下载页面,下载Windows安装软件,一般是 sqlite-dll-win32-*.zip sqlite-tools-win32-*.zip下载之后将其内容解压到同一个文件夹下,我把它们都放在了D:\…

使用Python+Flask/Moco框架/Fiddler搭建简单的接口Mock服务

一、Mock测试 1、介绍 mock:就是对于一些难以构造的对象,使用虚拟的技术来实现测试的过程mock测试:在测试过程中,对于某些不容易构造或者不容易获取的对象,可以用一个虚拟的对象来代替的测试方法接口mock测试&#x…

查看吾托帮88.47的docker里的tomcat日志

步骤如下 (1)ssh (2)ssh root192.168.88.47 等待输入密码:fytest (3)pwd #注释:输出/root (4)docker exec -it wetoband_deploy /bin/bash #注释&#xff1…

@Autowire、@Recourse用啥?

在使用IDEA写Spring相关的项目的时候,在字段上使用Autowired注解时,总是会有一个波浪线提示:Field injection is not recommended. 这是为啥呢?今天就来一探究竟。 众所周知,在Spring里面有三种可选的注入方式&#xf…

uniapp 微信小程序使用echarts

本文目的:通过分包的方式,尽可能在微信小程序中使用最新的echarts。 当然你也可以直接使用现成的uchart或者市场里别人封好的echarts. 准备工作 下载echarts-for-weixin源码。 复制ec-canvas文件夹以及下属文件,在uniapp项目中与pages同级的地…

基于springboot小区疫情防控系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

Python爬虫程序设置代理常见错误代码及解决方法

Python爬虫程序设置代理是爬虫程序中常用的技巧,可以有效地绕过IP限制,提高爬虫程序的稳定性和效率。然而,在设置代理时,常会出现各种错误代码,这些错误代码可能会影响程序的正常运行,甚至导致程序崩溃。本…

12款最火的AI画图软件,助你探索创新设计

ChatGPT火爆出圈,AI画图软件也如雨后春笋般流行起来。各类AI画图的软件工具横空出世,设计师与其焦虑工作会不会被人工智能取代,不如践行“工欲善其事必先利其器”,开拓思路,打开格局,好好地探索下如何利用好…

spring boot +vue 博客系统,开源的资源网站

spring boot vue 博客系统,开源的资源网站(Aurora前后端分离博客) 体验地址:http://blog.tlzcf.vip/ 相关技术 前端: 样式来自于:hexo的aurora主题基础框架:vue3(前台) vue2(后台)状态管理:…

opencv知识点

文章目录 一、图片/视频读取二、 ROI区域(图片截取)三、边界填充四、腐蚀与膨胀五、梯度计算六、礼帽与黑帽七、梯度(可以得到轮廓)八、不同算子的差异九、平滑图像(滤波)十、图像阈值一、图片/视频读取 img=cv2.imread(xxx.png) cv2.imshow(xxx,img) #视频 frameWith =…

一个高效、简洁、轻量的一站式研发管理平台,协作一站式

一、开源项目简介 Codes 是一个 高效、简洁、轻量的一站式研发管理平台。包含需求管理,任务管理,测试管理,缺陷管理,自动化测试,cicd 等功能;Codes 帮助企业加速融合研发、测试、运维一体化进程 常态下,刀…

SQL注入(get)

信息探测扫描主机服务信息以及服务版本nmap -sV 192.168.101.50快速扫描全部信息nmap -T4 -A -v 192.168.101.50扫描敏感信息nikto -host http://192.168.101.50:80深入挖掘分析nmap、nikto扫描结果,并对结果进行分析 使用浏览器打开http://192.168.101.50:80漏洞扫…

【EI会议征稿】第三届计算机图形学、人工智能与数据处理国际学术会议 (ICCAID 2023)

第三届计算机图形学、人工智能与数据处理国际学术会议 2023 3rd International Conference on Computer Graphics, Artificial Intelligence and Data Processing (ICCAID 2023) 第三届计算机图形学、人工智能与数据处理国际学术会议(ICCAID 2023)将于…

npm安装心得(依赖库Python及node-sass依赖环境)

在使用vue的开发环境过程中,总会遇到这样哪样的安装或者打包错误, vue运行或打包常见错误如下: 1. npm install时 node-sass npm ERR command failed (可能是node.js的版本和node-sass的版本不符,就是卸掉原来的node.…

MySQL Server层的 max_connections 和引擎层的 innodb_thread_concurrency

MySQL 数据库服务端是由 Server 层 和 引擎层组成 Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎…