数据结构和算法概述

news2024/9/21 12:32:21

什么是数据结构?

官方解释:

数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及他们之间的关系和操作等相关问题的学科。

大白话:

数据结构就是把数据元素按照一定的关系组织起来的集合,用来组织和存储数据

数据结构分类

传统上,我们可以把数据结构分为逻辑结构和物理结构两大类。

逻辑结构分类:

逻辑结构是从具体问题中抽象出来的模型,是抽象意义上的结构,按照对象中数据元素之间的相互关系分类,也是 我们后面课题中需要关注和讨论的问题。

a.集合结构:集合结构中数据元素除了属于同一个集合外,他们之间没有任何其他的关系。

b.线性结构:线性结构中的数据元素之间存在一对一的关系

c.树形结构:树形结构中的数据元素之间存在一对多的层次关系

d.图形结构:图形结构的数据元素是多对多的关系

物理结构分类:

逻辑结构在计算机中真正的表示方式(又称为映像)称为物理结构,也可以叫做存储结构。常见的物理结构有顺序 存储结构、链式存储结构。

顺序存储结构:

把数据元素放到地址连续的存储单元里面,其数据间的逻辑关系和物理关系是一致的 ,比如我们常用的数组就是 顺序存储结构。

顺序存储结构存在一定的弊端,就像生活中排时也会有人插队也可能有人有特殊情况突然离开,这时候整个结构都 处于变化中,此时就需要链式存储结构。

链式存储结构:

是把数据元素存放在任意的存储单元里面,这组存储单元可以是连续的也可以是不连续的。此时,数据元素之间并 不能反映元素间的逻辑关系,因此在链式存储结构中引进了一个指针存放数据元素的地址,这样通过地址就可以找 到相关联数据元素的位置

什么是算法?

官方解释:

算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法解决问题的策略 机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。

大白话 :

算法就是解决问题的方式,就像中学时代的数学一样,其实数学领域的算法和计算机领域的算法有很多相通之处。
我们后面要刷的很多题目,都不好说是数学问题还是算法问题。

我们所涉及的算法,是计算机科学领域的算法,它的本质是一系列程序指令,用于解决特定的运算和逻辑问题

算法有简单的,也有复杂的,简单的如1+1=2

也有复杂的,例如

大千世界任务问题,一旦向使用计算机来解决,那必然最终要变成一行行可以执行的代码,解决这个问题的过程就是算法。

算法与数据结构又是啥关系

算法是解决问题的思想,数据结构是具体的实现载体,这就像战术与武器的关系。

任何算法,如果想做成计算机可以执行的程序,那必然要借助数据结构将算法进行细化和步骤化,这就是程序开发的设计方案。
在算法考察中,有相当一部分就是数据结构本身的增删改查和各种各样的变换。而在此基础之上,再考虑一些比较复杂的实际问题


这期就到这里 , 下期见!

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

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

相关文章

CSC联合培养|公共管理博士赴世界名校瑞士苏黎世联邦理工学院

A同学拟申报CSC联合培养博士项目,要求到专业契合的世界知名高校。最终我们用世界大学排名第7的瑞士苏黎世联邦理工学院邀请函,助其顺利获批CSC,并如期出国。 A同学背景: 申请类型: CSC联合培养博士 工作背景&#xf…

mysql查询最近7天 每天销售额 统计销售额

sql统计每一天的支出数目,支出金额,收入数目,收入金额 finance_type0:收入 finance_type1:支出 部分建表语句: CREATE TABLE finance (finance_id int(11) NOT NULL AUTO_INCREMENT COMMENT ID,finance_u…

Unity 项目中查找仅具有单一颜色的纹理

如何使用 只需在“项目”窗口中创建一个名为“编辑器”的文件夹,然后在其中添加此脚本即可。然后,打开“窗口-单色纹理检测器”并点击“刷新”。 你可能会问,为什么我需要这个?某些纹理可以是 1024x1024 或更大,并且…

PHPstorm 安装汉化包失败解决方法

出错的原因是官方的包和软件的版本不对应,下载对应的汉化包就行了 官网汉化包下载地址https://plugins.jetbrains.com/plugin/13710-chinese-simplified-language-pack----/versions 下载对应ide版本的包,我下载了一个2020版的 放到安装软件的plugins文…

纺织辅料经营小程序商城的作用是什么

数字化时代,各个行业都在通过线上转型实现新增长,纺织辅料厂商也一样,需要通过线上化实现与客户的面对面交流有利于打造品牌及构建私有化流量池,但无论入驻哪家电商平台及垂直行业平台,都有不少的佣金及入驻费。 可通过…

h750错误记录 卡死 ,18b20数据读取失败 解决办法

1.程序运行没反应 ,debug发现卡死到 b. **> 解决办法,中断函数缺失,添加即可 2.stm32h750对18b20 读取数据失败 由于hal库没有 微秒延时,故采用nop( )函数来进行延时,死活读不到温度数据&…

UG\NX二次开发 分享“一键清除高亮工具”的源代码

文章作者:里海 来源网站:王牌飞行员_里海_里海NX二次开发3000例,里海BlockUI专栏,C\C++-CSDN博客 感谢粉丝订阅 感谢 Trust_MJ 订阅本专栏,非常感谢。 简介 一键清除高亮工具,这个工具怎么开发呢?遍历对象使用UF_DISP_set_highlight()吗?下面分享一种最简单的方法: 效果…

跨境电商必备指南:教你轻松玩转Facebook聊单

Facebook作为全球最大的社交媒体平台之一,拥有数十亿的用户。这样庞大的客户群体为出海企业营销提供了巨大的潜力,无论是中小型的企业还是大型的跨国公司,Facebook都是一个有助于建立品牌形象的平台。企业可以在上面与用户互动、推广产品和服…

抄表系统是如何抄到电表水表的数据的?

抄表系统是一种利用无线通信技术,实现远程读取电表水表数据的系统。抄表系统主要由三部分组成:电表水表、集中器和后台管理平台。接下来,小编来为大家详细的介绍下抄表系统是如何抄到电表水表的数据的,一起来看下吧! 电表水表是抄…

餐饮外卖小程序商城的作用是什么

随着互联网及线上餐饮的发展趋势,行业洗牌正在加速,并且对餐饮连锁门店提出更高要求,餐饮数字化转型加快,积极发展线上经营是不少餐饮商家的首选。这其中,餐饮外卖商城成为很多餐饮品牌的线上经营品牌,也是…

k8s客户端配置

K8s客户端安装 前提 K8s服务部署成功,如下 角色 IP地址 操作系统 主机名 Kubernetes版本 master节点 172.16.4.167 CentOS 7.9 k8s-master01 v1.28.2 工作节点1 172.16.4.168 CentOS 7.9 k8s-worker01 v1.28.2 工作节点2 172.16.4.169 CentOS 7.9…

【蓝桥】通关

1、题目 问题描述 游戏“蓝桥争霸”由很多关卡和副本组成,每一关可以抽象为一个节点,整个游戏的关卡可以抽象为一棵树形图,每一关会有一道算法题,只有当经验值不低于第 i i i 关的要求 k i k_i ki​ 时,小蓝才能挑…

SAP-怎么查一个工艺路线抬头特性值用在了哪个工艺路线里

起因 在DEV里写了个报表,用生产订单关联工艺路线,关联特性值的时候发现特性值维护的和PRD里不一样,PRD里,这个特性值在“值”标签里定义了选项,而DEV里却没有,于是乎就想把它补过来。然而保存存的时候报错…

Echarts 实现 设备运行状态图(甘特图) 工业大数据展示

let option{tooltip: {formatter: function (params) {let startTime new Date(params.value[1])let endTime new Date(params.value[2]);//北京时间/时间戳转成日常时间function convert(date){var y date.getFullYear();var m date.getMonth() 1;m m < 10 ? "0…

基于边缘智能网关的储能系统安全监测管理方案

“储能系统充电”是配套新能源汽车产业发展的重要应用之一。得益于电池技术的发展&#xff0c;新能源汽车正逐步迈入快充时代&#xff0c;由于在使用快速充电桩时&#xff0c;可能导致用电峰值负荷超过电网的承载能力&#xff0c;对于电网的稳定性和持续性会有较大影响&#xf…

【智能大数据分析】实验1 MapReduce实验:单词计数

【智能大数据分析】实验1 MapReduce实验&#xff1a;单词计数 文章目录 【智能大数据分析】实验1 MapReduce实验&#xff1a;单词计数一、实验目的二、实验要求三、实验原理1 MapReduce编程2 Java API解析 四、实验步骤1 启动Hadoop2 验证HDFS上没有wordcount的文件夹3 上传数据…

云安全-对象存储安全(配置错误,域名接管,AK泄露)

0x00 云安全-对象存储 云安全厂商分类&#xff1a;阿里云&#xff0c;腾讯云&#xff0c;华为云&#xff0c;亚马逊云等 云厂商所对应的云服务包括&#xff1a;对象存储&#xff0c;云数据库&#xff0c;弹性计算服务&#xff08;云主机&#xff09;&#xff0c;云控制台 各厂…

桃花峪滑雪场租赁系统 JAVA开源项目 毕业设计

目录 项目介绍 项目下载 项目截图 项目介绍 基于JAVAVueSpringBootMySQL的桃花峪滑雪场租赁系统&#xff0c;包含了滑雪场、门票预定、滑雪教练聘请、器材租赁归还、规章制度等模块&#xff0c;分为管理后台和微信小程序端&#xff0c;还包含系统自带的用户管理、部门管理、…

加上boot程序,FreeRTOS就跑不起来了

一、问题描述 bootloader跳转到APP时&#xff0c;app执行完初始化程序后死机 二、分析问题 第一步&#xff0c;执行app时死机死到哪里&#xff1f;通过DEBUG调试发现死到hardfault_handler()函数中&#xff0c;硬件错误&#xff0c;导致硬件错误的原因一般都是中断异常引起的。…

上云容灾如何实现碳中和-万博智云受邀参加1024程序员节数据技术论坛并发表演讲

近日&#xff0c;2023长沙中国1024程序员节在长沙召开。 长沙中国1024程序员节继2020年后已成功连续举办三届&#xff0c;逐步成为 IT 行业引领技术前沿、推动应用创新发展的高影响力年度盛会。是 IT 领域新技术、新产品、新服务的重要发布平台。 万博智云CEO Michael受邀参加…